cadence-workflow - 我们可以说 Activity 在节奏或时间上是容错的吗
问题描述
我有两个名为 w1 和 w2 的工人
W1 主持活动 A1。
如果 w1 出现故障,是否会在 w2 上自动创建以处理服务器故障转移?
我试过了,但它说 ActivityTimeOut 错误并且工作流失败。
难道我们没有任何选择来处理这样的故障转移吗?
在这种情况下,活动不会超时。由于工人崩溃,它没有在预期的时间内响应节奏服务。这是将其称为 ActivityTimeOut 的正确方法吗?相反,我们不能像 WorkerCrash 那样解决它吗?
解决方案
默认情况下,Cadence 不为活动提供 RetryOptions。因此,如果超时或失败,工作流将收到失败,如果不处理则会失败。如果你想重试一个活动,你必须在调用它时提供 RetryOptions 。
Temporal 默认为任何活动提供 RetryOption。所以默认会重试。
此时,Cadence 和 Temporal 都不会直接对 worker 崩溃做出反应。他们依靠活动超时来检测任何此类故障。StartToClose
因此,在调用活动时指定正确的超时时间是必不可少的。
推荐阅读
- javascript - 我需要在我的网页中单击我的标签时调用一个 Javascript 函数来显示和隐藏内容
- javascript - 工具提示未显示在 d3 图表中点/圆顶部的附加“矩形”处
- node.js - 检查空值快速验证器
- java - 在 Android/Java 中传递 cipher.doFinal 什么?
- mysql - 如何将最大和最小平均值和中位数计入数据mysql
- php - 使用 Laravel whenEmpty 时如何返回集合的所有值
- selenium-webdriver - 带有 else 部分的 Selenium 多窗口
- android - 数据库未在 Android 中复制
- laravel - 在 Laravel 6 中限制多个用户
- python - 在 sympy 中从矩阵方程中拉出一行