我们正在使用.Net Core / RabbitMQ / MassTransit,并且我有一个Consumer [OrderCreatedEvent]运作良好。
我想要一种错误恢复机制,在启动应用程序时,我想从错误队列中读取然后删除消息。
是否可以从MassTransit的错误队列中读取然后删除消息?
答案 0 :(得分:1)
您可以在错误队列上创建一个接收端点,该端点将读取与其他任何接收端点相同的消息。您需要一个能够读取消息格式并对该错误消息进行某些操作(可能与原始操作有所不同)的使用者。
请注意,该接收终结点上的所有错误都将移至input-queue_error_error
,依此类推,依此类推,以此类推...
另一种选择是在RabbitMQ服务器上设置一个铲子来移动消息,但是请注意不要永远移动它们,因为可能有正当的理由将消息移动到错误队列。但是,如果它与资源中断有关,并且有必要再次处理这些消息,则可以使用铁锹将它们移回主队列。