是否可以从MassTransit的错误队列中读取和删除消息

时间:2020-01-15 08:53:35

标签: asp.net-core rabbitmq masstransit

我们正在使用.Net Core / RabbitMQ / MassTransit,并且我有一个Consumer [OrderCreatedEvent]运作良好。

我想要一种错误恢复机制,在启动应用程序时,我想从错误队列中读取然后删除消息。

是否可以从MassTransit的错误队列中读取然后删除消息?

1 个答案:

答案 0 :(得分:1)

您可以在错误队列上创建一个接收端点,该端点将读取与其他任何接收端点相同的消息。您需要一个能够读取消息格式并对该错误消息进行某些操作(可能与原始操作有所不同)的使用者。

请注意,该接收终结点上的所有错误都将移至input-queue_error_error,依此类推,依此类推,以此类推...

另一种选择是在RabbitMQ服务器上设置一个铲子来移动消息,但是请注意不要永远移动它们,因为可能有正当的理由将消息移动到错误队列。但是,如果它与资源中断有关,并且有必要再次处理这些消息,则可以使用铁锹将它们移回主队列。