获取 MassTransit 消息重试次数

Get MassTransit message retries amount

我正在使用 Masstransit+RabbitMQ。我的一位消费者实施了重试策略,我想知道一旦消息出现错误 queue?

是否有任何方法可以获取消息的重试次数

另外我想知道 MT 如何重试计数,因为我没有使用 RabbitMq 服务器在消息的 headers 中找到任何相关信息。

谢谢。

您可以在您的consumer中,使用以下方法重试重试次数。

consumeContext.GetRetryAttempt()

如果当前处理尝试是重试,它应该 return > 0。

一旦达到重试限制,下一版本的 MassTransit (v6) 将在错误 queue MT-Fault-RetryCount 中包含一个 header尝试过。此外,Fault<T> 条消息将具有相同的 header 可用。