0

w1 と w2 という名前の 2 つのワーカーがあります。

W1 はアクティビティ A1 をホストします。

w1 がダウンした場合、サーバーのフェイルオーバーを処理するために w2 に自動的に作成されますか?

試してみましたが、ActivityTimeOut エラーとワークフローが失敗したと表示されます。

このようなフェイルオーバーを処理するオプションはありませんか?

この場合、アクティビティはタイムアウトしません。ワーカーのクラッシュにより、予定された時間内にケイデンス サービスに応答していません。これはActivityTimeOutとして対処する正しい方法ですか? 代わりに、WorkerCrash のように対処できないでしょうか?

4

2 に答える 2

0

デフォルトでは、Cadence はアクティビティに RetryOptions を提供しません。そのため、タイムアウトまたは失敗した場合、ワークフローは失敗を受け取り、処理されないと失敗します。アクティビティを再試行する場合は、呼び出すときに RetryOptions を指定する必要があります。

Temporal はデフォルトで、あらゆるアクティビティに RetryOption を提供します。そのため、デフォルトで再試行されます。

この時点で、Cadence と Temporal の両方がワーカーのクラッシュに直接反応しません。それらは、アクティビティのタイムアウトに依存して、そのような障害を検出します。したがってStartToClose、アクティビティを呼び出すときは、正しいタイムアウトを指定することが不可欠です。

于 2021-05-19T21:58:38.733 に答える