【问题标题】:Masstransit State Machine - Retry MechanismMasstransit 状态机 - 重试机制
【发布时间】:2017-07-25 13:40:15
【问题描述】:

如果由于异常而“重试”消息,它是否会物理返回到队列中?到开始?到最后?队列中存在消息后是否重新处理?它是否保存在应用程序内存中?

我没有在文档中找到任何关于公共交通重试机制流程的描述。

请参考任何解释它的文档,谢谢。

【问题讨论】:

    标签: masstransit saga automatonymous


    【解决方案1】:

    MassTransit 将在同一消费者交付中重试消息 - 重试仅在消费者/传奇/处理程序交付管道上。在 saga 的情况下,数据库事务(如果存在)被中止,并启动一个新事务 - 包括从数据库中重新读取 saga 实例。

    消息不会返回队列以供其他工作人员处理。

    如果达到重试策略限制,则将消息移动到 _error 队列。

    【讨论】:

    • 如果我不指望消息按特定顺序出现,并且当前的 saga 交付管道由于状态尚未达到所需的状态而无法进行,或者甚至尚未创建,你说当前的工人“卡”在这条消息上?使用间隔进行重试 - 使当前工作人员能够同时处理其他消息?
    • 如果您无法处理邮件,您应该使用预定的重新投递。通过自己安排消息或只是告诉 MassTransit 使用预定的重新递送来重新递送。
    猜你喜欢
    • 1970-01-01
    • 2021-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多