【发布时间】:2016-11-08 15:00:57
【问题描述】:
我正在使用 Masstransit+RabbitMQ。我的一位消费者实施了重试策略,我想知道一旦消息在错误队列中,是否有任何方法可以让消息重试?
我还想知道 MT 计数是如何重试的,因为我没有使用 RabbitMq 服务器在消息头中查找任何相关信息。
谢谢。
【问题讨论】:
标签: c# rabbitmq masstransit
我正在使用 Masstransit+RabbitMQ。我的一位消费者实施了重试策略,我想知道一旦消息在错误队列中,是否有任何方法可以让消息重试?
我还想知道 MT 计数是如何重试的,因为我没有使用 RabbitMq 服务器在消息头中查找任何相关信息。
谢谢。
【问题讨论】:
标签: c# rabbitmq masstransit
您可以在您的消费者中使用以下方法重试重试次数。
consumeContext.GetRetryAttempt()
如果当前的处理尝试是重试,它应该返回 > 0。
一旦达到重试限制,下一个版本的 MassTransit (v6) 将在错误队列MT-Fault-RetryCount 中包含一个标头,其中包含已尝试的重试次数。此外,Fault<T> 消息将具有相同的可用标头。
【讨论】: