NServiceBus延迟重试

时间:2011-03-16 09:54:30

标签: nservicebus

我们需要能够指定重试失败消息的延迟。在将消息移动到错误队列之前,NServiceBus会或多或少地立即重试n次(按配置)。

我需要做的是,对于给定的消息类型,指定不要在任意时间段内重试

我在这里阅读了这篇文章:

NServiceBus Retry Delay

但这并没有给出我想要的东西。

亲切的问候

1 个答案:

答案 0 :(得分:1)

目前不支持此功能。您可以做的是让消息进入错误队列,设置和端点来监视该队列。然后,您的代码可以确定重播消息的规则。您可以使用Saga与Timeout管理器结合使用。

通常,您会有一些关于何时重播邮件的规则。在NSB 3.0中,我们有一个更好的方法来使用FaultManager。这为您提供了放置失败消息的位置的选项,并包含异常。其中一个选项是DB,然后您可以设置一个作业来检查异常并确定如何处理它。

最后,获得此功能的一种低技术方法是安排定期运行ReturnToSourceQueue工具的作业以“清理”。我们正在这样做,包括一个警报,所以我们不会无休止地循环消息。