gpt4 book ai didi

masstransit - 如何从 saga 执行路由 list ?

转载 作者:行者123 更新时间:2023-12-05 03:07:45 25 4
gpt4 key购买 nike

我们正在使用 saga 来建模工作流程。这个工作流等待事件的到来,并根据事件执行一些工作。在某些情况下,我们需要一个接一个地执行多个任务(链接的 .Then 方法),但如果一个任务失败,我们希望补偿整个链。路由单似乎很合适,但我不确定这样的路由单是否可以从传奇中的 Then 方法执行?

最佳答案

从状态机传奇中的行为执行路由单是可能的,实际上也很常见。但是,建议从 saga 向普通消费者发送命令,然后由普通消费者构建并执行路由单。

然后,一个单独的状态机可以监控路由单的进度,使用路由单事件将状态向前移动。一旦路由单完成,路由单状态机可以生成业务事件,原始传奇观察到该业务事件继续前进(在成功的情况下)或转换到失败状态(如果路由单发生故障) .

通过为路由单设置一个单独的状态机,然后可以添加计划重试之类的东西,这可以增加路由单事件建模的业务交易的弹性。它还将路由 list 的关注点分开,并仅使用业务事件保持原始传奇的整洁。

还有一个很好的演示: https://github.com/phatboyg/Demo-Registration

关于masstransit - 如何从 saga 执行路由 list ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46543260/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com