如果由于异常而“重试”消息,它是否在物理上返回队列?到一开始?到最后?是否在队列中存在的消息之后重新处理?它被保存在应用程序内存中吗?
我没有在文档中找到masstransit重试机制 flow 的任何描述。
请参阅任何解释它的文档,谢谢。
答案 0 :(得分:2)
MassTransit将在同一个消费者交付中重试消息 - 重试仅在消费者/传奇/处理程序交付管道上进行。在saga的情况下,数据库事务(如果存在)被中止,并且启动新事务 - 包括从数据库重新读取saga实例。
消息不会返回队列以供其他工作人员处理。
如果达到重试策略限制,邮件将移至 _error 队列。