Function Computeは、呼び出しが失敗した場合、非同期呼び出しを自動的に再試行します。 このトピックでは、Function Computeコンソールで再試行メカニズムと再試行ポリシーを設定する方法について説明します。
再試行メカニズム
次の表に、一般的なエラーのデフォルトの再試行メカニズムを示します。
ステータスコード | 原因 | サーバーの動作 |
200 |
| デフォルトでは、システムは3回、または非同期呼び出し設定のmaxAsyncRetryAttemptsの設定に基づいて実行を再試行します。 |
429 | 同時リクエストの最大数に達したため、リクエストは抑制されます。 | Function Computeは、バイナリ指数バックオフモードで最大5時間実行を再試行します。 関数の実行が失敗してから0.5秒後に再試行が開始されます。 後続の再試行間隔は、2進指数バックオフモードで計算される。 具体的には、再試行間の待機間隔は、各試行で2倍になり、1秒で始まり、次に2秒、4秒、8秒などで始まる。 このパターンは最大5時間続きます。 |
500 | システムエラーが発生します。 | |
503 | Function Computeリソースが不足しています。 |
再試行ポリシーの設定
Function Computeでは、メッセージの最大再試行回数と最大有効期間 (TTL) を指定できます。
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[サービスと機能] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。 [サービス] ページで、目的のサービスをクリックします。
関数ページで、変更する関数をクリックします。
関数の詳細ページで、[非同期設定] タブをクリックします。 [非同期ポリシー] セクションで、[変更] をクリックします。
では、非同期モードのポリシーの変更パネル、次のパラメータを設定し、OKをクリックします。
パラメーター
説明
タスクモード
非同期タスクモードを有効にするかどうかを指定します。 詳細については、「概要」をご参照ください。
このパラメーターはオプションです。 再試行ポリシーを設定するときに、このパラメーターを設定する必要はありません。
Maximum Retries
非同期呼び出しプロセスでのメッセージの最大再試行回数を指定します。 有効な値: [0,8] 。
デフォルトでは、Function Computeは失敗した非同期メッセージを3回再試行します。 ビジネス要件に基づいて、再試行の数を減らすか増やすことができます。
最大メッセージ寿命
非同期呼び出しプロセスでのメッセージの最大有効期間を指定します。 有効な値: [1,604800] 。 デフォルト値: 86400 単位は秒です。
この期間は、非同期呼び出しがトリガーされてからメッセージが処理のためにデキューされるまでの時間から計算されます。 メッセージは、最大寿命が経過すると破棄される。 破棄されたメッセージは、CloudMonitorの非同期呼び出しトリガーイベントメトリックによって追跡されます。 詳細については、「モニタリングメトリック」をご参照ください。