NServiceBus 消息处理程序无限循环
我们有一个生产系统,其中一个消息处理服务挂起。
症状:
- 服务使用 100% CPU
- 服务重新启动无法解决
- 消息处理程序被调用但从未完成
我们查看了代码,消息处理程序中似乎存在无限循环错误。如果处理程序未在指定时间内完成,是否有任何方法可以将 NServiceBus 配置为超时处理程序处理并将消息移动到错误队列?
We have a system in production where one of the message processing services is hanging up.
Symptoms:
- Service using 100% CPU
- Restart of service doesn't resolve
- A message handler is called but never finished
We've looked at the code and it appears to be endless loop bug in the message handler. Is there any way to configure NServiceBus to timeout handler processing and move the message to the error queue if the handler doesn't complete in a specified time?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
无限循环中正在处理的消息是否从错误队列中批量复制?
我以前见过这种行为。
当您手动将消息从错误队列复制回输入队列时,它会对消息头执行一些奇怪的操作,从而导致这种情况发生。
Was the message being processed on the infinite loop copied wholesale from the error queue?
I have seen this behavior before.
When you copy a message from the error queue back onto the input queue manually it does something weird with the message header which results in this hapenning.