当消费者抛出异常时,MassTransit为另一个消费者重新发布消息

时间:2017-07-28 03:13:26

标签: c# rabbitmq masstransit

我正在使用MassTransit和RabbitMQ开发一个微服务系统。 一个服务可以将作业发布到许多订户服务。 其中一个订阅者将执行该作业(竞争消费者)。

如果一个订阅者使用消息,执行作业并抛出异常,是否有任何方法可以将消息重新传递到队列,以便其他订阅者可以使用该消息。 < / p>

我为订阅者使用重试策略,但它只允许我在同一订阅者中重新使用该消息,而不是由另一个订阅者使用。

1 个答案:

答案 0 :(得分:1)

您可以安排重新发送邮件:

http://masstransit-project.com/MassTransit/usage/scheduling/redeliver.html

您需要有一个消息调度程序,或者在RabbitMQ中使用延迟交换。通常不建议立即重试,但您可以将重新传递计时器设置为您想要的任何内容。