2017-09-15 93 views
1

如果处理失败(不是递送),我将以不透明模式持续接收消息并放弃它们。但是,该消息立即再次可用并且被接收以再次处理。它再次快速失败,在最大量交货后,它已经死气沉沉。Azure服务总线:为处理失败消息而实施指数重试策略的最佳方法

有没有一种方法来配置主题/订阅等待放弃之后才发布消息?优选以指数方式。

当然,我也愿意通过代码提供建议。

回答

0

没有办法在服务总线配置中设置指数回退。我遇到了同样的问题,并且完成了以下操作:

  1. 将邮件出队并将邮件标记为收到邮件。
  2. 在try/catch块中执行处理。如果有例外情况,则在未来的某个时间将排定的新消息排入预定的时间。

我们已将Service Bus Message Queue负载包装在指定传递尝试次数的类中。我们将传递尝试次数乘以一个常数,然后将该数字添加到将来计划交付的当前日期时间。在超过我们想要尝试的投递尝试次数后,我们明确地死信发送信息。

相关问题