2012-01-12 36 views
0

我们有一个系统正在生产中,其中一个消息处理服务挂起。NServiceBus消息处理程序无尽循环

症状:

  • 服务使用100%的CPU
  • 重新启动服务不能解决
  • 的消息处理函数被调用,但从来没有完成

我们已经看过了代码,它似乎是消息处理程序中的无限循环错误。如果处理程序没有在指定的时间内完成,是否有任何方法将NServiceBus配置为超时处理程序处理并将消息移动到错误队列中?

回答

1

消息是否正在从错误队列中批量复制的无限循环上处理?

我以前见过这种行为。

当您将错误队列中的消息手动复制回输入队列时,它会对消息头做一些奇怪的处理,从而导致发生这种情况。

+0

我在确认邮件标题的问题,我认为它已修复,但我们改用了PowerShell来更正ReturnToSourceQueue工具。如果需要,我很乐意分享代码。 – 2012-01-13 14:09:44

+0

是的,请亚当 – 2012-01-13 14:20:42

+1

这里是所有PS的东西的链接:https://github.com/afyles/Blog/tree/master/PowerShell – 2012-01-13 19:14:30