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

如何让节奏工作者停止接受新任务

沈鸿光
2023-03-14

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

我的用例是,我的活动具有较大的 startToClose 超时,并且在部署期间,活动任务将被选取,并且在超时并重试之前无法完成。

共有1个答案

濮阳原
2023-03-14

这是背景/用例:

the activity will still wait for start to close timeout and then retry, in scenarios where we have large start to close timeout, how do retry immediatly

建议为活动设置正确的超时/重试策略,以缓解此问题。

对于较大的startToClotimeout,活动应设置心跳超时并将心跳发送到服务器。

如果没有心跳超时,即使提供了这种“优雅的关闭”,问题中的问题也可能发生。因为活动执行中可能会出现一些崩溃,或者工作主机崩溃。

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

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

  • 历史回放如何在抑扬顿挫中发挥作用? 我有一个按顺序调用两个活动的工作流。 比方说,第一个活动完成了,第二个活动有100行代码。如果应用服务器在执行activity2中的第50行代码时重新启动,它会从第50行开始执行吗?如果是,cadence内部正在发生什么神奇的事情? 我的hello活动中有上面的代码。此代码将运行4分钟,当条件满足时,它将在文件中写入数据 我启动了一个工作流,并在打印后退出了节奏

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

  • temporal.io如何与cadenceworkflow.io?如果根据节奏工作流服务启动一个新项目,应该使用什么?

  • 我有两份工作。我的主要第一个jenkins项目使用“trigger/call builds on other project”插件触发另一个第二个项目。我的第二个项目是一种服务器,我首先使用触发器和我的主要第一个项目流程启动它。现在我想在我的第一个项目构建完成后停止我的第二个僵尸项目。 我找到了一些参考资料,如下所示:- 如何停止不可阻挡的僵尸工作Jenkins不重启服务器? 但我想停止我的僵尸工