当前位置: 首页 > 知识库问答 >
问题:

如何重新启动超时/失败/取消/终止的节奏工作流

从阎宝
2023-03-14

嗨,我有一个包含2个活动的工作流。场景。一个活动在执行第二个活动时完成,我需要与之通信的URL链接已关闭。现在,当该URL启动时,工作流超时。那么我该如何重启超时的工作流呢?

这个问题的灵感来自一个Github问题。

共有1个答案

容柏
2023-03-14

Cadence允许您轻松重新启动任何已在任何状态下关闭的工作流:超时/失败/取消/终止。甚至以成功状态结束:completed或continuedAsNew。

    < li >您可以使用CLI命令将工作流重置为LastDecisionCompleted或FirstDecisionCompleted重置类型。如果您想在超时前保存工作流的进度,LastDecisionCompleted将重置为最后一点。FirstDecisionCompleted将重置为工作流的开始,就像通过仅保存工作流的开始参数来真正重新启动一样:
./cadence workflow reset -w <wid> --reset_type LastDecisionCompleted --reason "some_reason"

./cadence workflow reset-batch --query <query> --reset_type LastDecisionCompleted --reason "some_reason"

Reset是Cadence中最强大的操作功能之一。不仅重置为FirstDecisionCompleted和LastDecisionCompleted,您还可以像使用time machine一样轻松地操纵工作流回到任何时间点。如果您使用“- help”阅读命令手册,将会支持更多的重置类型。

 类似资料:
  • 可以运行不需要连接到cadence服务器的本地活动。是否有适当的方式在本地运行工作流,以防发生cadence中断?我正在使用Go客户端。

  • 问题内容: 我在node.js应用程序中将kue用于延迟的工作。 我有一些问题需要弄清楚如何才能使用kue的API重新启动作业,而不必使用redis命令将作业的ID从失败的作业列表手动移至非活动的作业列表。 使用kue可以吗? 我不想设置固定的重试次数-我只想重试特定的作业。 也欢迎提出关于维护良好的替代kue的建议。 问题答案: 我不知道这是否有效,但是您可以尝试将作业的状态重置为活动状态,然后

  • 我有一个包含多个活动的工作流1,2,3…6,如果我的工作流在活动3之后因某个特定异常而失败,我计划启动一个子工作流,最终修复该异常。之后,我想重试父工作流以完成完整的流程。 我可以在子工作流中使用什么来实现上述场景? 我尝试查看具有< code>ContinueAsNew的工作流界面,该界面将创建一个新的工作流,并再次执行所有活动。

  • 如何根据信号改变节奏工作流程中的睡眠持续时间?这是使用java客户端的正确方法吗? 我没有发现取消和重新安排工作流Hibernate计时器的其他可能性

  • 我想实现一个用例,在适当的缩减期间,我想确保cadence员工不接受任何新工作。我在k8上使用cadence,所以我计划给已知的最大超时设置一个terminationGracePeriodSeconds,在这个时间之前,我知道所有正在进行的任务都将在特定的pod上完成。因此,新任务将仅分配给在职员工。 我的用例是,我的活动具有较大的 startToClose 超时,并且在部署期间,活动任务将被选取

  • 每个工作流都应在单独的工作流类中实现? 是否建议实现一个通用工作流类,在该类中,我们将使用传递给工作流的参数调用活动和触发计时器? 在我们的用例中,我们将从UI创建工作流,它将由最终用户创建。所以我们不能一开始就定义我们的工作流程。 这是推荐的方法吗?