如何在Cadence中处理活动工作者失败

时间:2019-11-20 01:27:06

标签: cadence-workflow

我正在探索Cadence,并对故障恢复有疑问。我了解在工作流工作者失败的情况下,工作流是容错的(维护了工作流历史)。我找不到活动工作者的同样保证。例如:假设一个活动对服务A进行RPC调用,从而改变了某些远程对象的状态;现在,假设呼叫已成功,但活动工作人员在通知Cadence服务之前丢失了。在这种情况下,Cadence会否在新工作人员上再次安排活动?

我知道,如果服务A是幂等的,则以上内容可能不是问题。如果服务A不是幂等的,那么在Cadence中处理上述情况的建议是什么。

1 个答案:

答案 0 :(得分:0)

默认情况下,节奏不会重试活动。因此,在活动工作者失败的情况下,工作流将遇到超时错误,并可以根据其业务逻辑进行处理。对于非幂等活动,通常通过运行补偿活动来完成。

Cadence还支持幂等活动的自动重试。通过在调用活动时提供重试策略来完成此操作。