首页 > 解决方案 > 我们可以说 Activity 在节奏或时间上是容错的吗

问题描述

我有两个名为 w1 和 w2 的工人

W1 主持活动 A1。

如果 w1 出现故障,是否会在 w2 上自动创建以处理服务器故障转移?

我试过了,但它说 ActivityTimeOut 错误并且工作流失败。

难道我们没有任何选择来处理这样的故障转移吗?

在这种情况下,活动不会超时。由于工人崩溃,它没有在预期的时间内响应节奏服务。这是将其称为 ActivityTimeOut 的正确方法吗?相反,我们不能像 WorkerCrash 那样解决它吗?

标签: cadence-workflowtemporal-workflow

解决方案


默认情况下,Cadence 不为活动提供 RetryOptions。因此,如果超时或失败,工作流将收到失败,如果不处理则会失败。如果你想重试一个活动,你必须在调用它时提供 RetryOptions 。

Temporal 默认为任何活动提供 RetryOption。所以默认会重试。

此时,Cadence 和 Temporal 都不会直接对 worker 崩溃做出反应。他们依靠活动超时来检测任何此类故障。StartToClose因此,在调用活动时指定正确的超时时间是必不可少的。


推荐阅读