如何解决您如何为 Mirth Connect HTTP Sender 设置更长的超时时间?
使用 HTTP 发送器发送需要 3 分钟处理的消息,导致 Mirth(大概是由于超时)每 2 分钟 + 10 秒不断重新发送消息。 HTTP 发送方没有过滤器/转换器/响应,发送超时为 5 分钟,重试间隔为 10 秒。我希望发送的消息成功,因为 5 分钟超时设置大于服务器返回结果所需的 3 分钟。
如何配置 Mirth HTTP Sender 以允许超过 2 分钟的超时?发送超时设置有什么作用?
这是我的测试用例:
Mirth HTTP 发送器:
服务器源代码:
const express = require('express')
const bodyParser = require('body-parser');
const app = express()
const port = 4443;
let reqId = 0;
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve,ms));
}
app.use(bodyParser.json({ type: 'application/json' }));
app.post('/message/',async (req,res) => {
const id = reqId++;
const { sleepSeconds } = req.body;
console.log('');
console.log(`${Date(Date.Now()).toString()} Received request id=${id} sleepSeconds=${sleepSeconds}`);
console.log(`${Date(Date.Now()).toString()} request id=${id} Started sleeping for ${sleepSeconds} seconds`);
await sleep(sleepSeconds * 1000);
console.log(`${Date(Date.Now()).toString()} request id=${id} Finished sleeping for ${sleepSeconds} seconds`);
res.json(req.body);
})
app.listen(port,() => {
console.log(`Started listening on port ${port}`)
})
消息:
{
"sleepSeconds" : 180
}
日志:
Started listening on port 4443
Tue Jan 05 2021 11:34:45 GMT-0800 (Pacific Standard Time) Received request id=0 sleepSeconds=180
Tue Jan 05 2021 11:34:45 GMT-0800 (Pacific Standard Time) request id=0 Started sleeping for 180 seconds
Tue Jan 05 2021 11:36:55 GMT-0800 (Pacific Standard Time) Received request id=1 sleepSeconds=180
Tue Jan 05 2021 11:36:55 GMT-0800 (Pacific Standard Time) request id=1 Started sleeping for 180 seconds
Tue Jan 05 2021 11:37:45 GMT-0800 (Pacific Standard Time) request id=0 Finished sleeping for 180 seconds
Tue Jan 05 2021 11:39:05 GMT-0800 (Pacific Standard Time) Received request id=2 sleepSeconds=180
Tue Jan 05 2021 11:39:05 GMT-0800 (Pacific Standard Time) request id=2 Started sleeping for 180 seconds
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。