0

我有一个包含多个活动 1、2、3...6 的工作流,如果我的工作流在活动 3 之后因一个特定异常而失败,我计划启动一个最终修复异常的子工作流。之后,我想重试父工作流程以完成整个流程。

我可以在子工作流程中使用什么来实现上述场景?

我尝试查看 Workflow 界面,该界面ContinueAsNew会将其创建为新的工作流并再次执行所有活动。

4

1 回答 1

1

我建议不要让工作流程失败,而是将补偿和重试逻辑作为其中的一部分。您可以编写如下内容:

activities.a1(...);
activities.a2(...);
try {
   activities.a3(...);
} catch (MyParticularException e) {
   childWorklfow.fixExceptionIn3(...);
}
activities.a4(...);
activities.a5(...);
activities.a6(...);
activities.a7(...);

重试整个工作流的想法来自同步请求-回复世界,对工作流几乎没有意义。

于 2020-07-01T04:57:18.717 回答