デフォルトでは、Cloud Scheduler ジョブがハンドラから確認応答を受信しない場合、ジョブは失敗したと見なされ、構成した指数バックオフに従って再試行されます。Cloud Scheduler ジョブの作成または更新時に、次の方法でこの再試行動作を決定できます。
API リクエストを直接作成すると、
Job
リソースのRetryConfig
設定を構成する
再試行の設定
次の表に、構成可能な再試行設定を示します。
最大再試行回数
maxDoublings
で説明されている指数バックオフ手順を使用して、システムがジョブの実行を試行する回数。
説明 |
5 より大きい値と負の値は使用できません。 |
デフォルト | デフォルトは 0 です。 |
コンソール ラベル | 最大再試行回数 |
CLI のフラグ | --max-retry-attempts |
API フィールド | retryCount |
最大再試行時間
失敗したジョブを再試行する制限時間。実行が最初に試行された時点から計測されます。retryCount
とともに指定すると、両方の上限に達するまでジョブが再試行されます。
説明 | 小数点以下 9 桁までの秒単位の期間。末尾に「s」が付く(例: 3.5s)。 期間が 0 の場合、再試行期間は無制限になります。ただし、 |
デフォルト | デフォルトは 0 秒です。 |
コンソール ラベル | 最大再試行時間 |
CLI のフラグ | --max-retry-duration |
API フィールド | maxRetryDuration |
バックオフ期間の最小値
ジョブが失敗してから再試行するまでの最小待機時間。
説明 | 小数点以下 9 桁までの秒単位の期間。末尾に「s」が付く(例: 3.5s)。 |
デフォルト | デフォルトは 5 秒です。 |
コンソール ラベル | 最小バックオフ時間 |
CLI のフラグ | --min-backoff |
API フィールド | minBackoffDuration |
バックオフ期間の最大値
ジョブが失敗してから再試行するまでの最大待機時間。
説明 | 小数点以下 9 桁までの秒単位の期間。末尾に「s」が付く(例: 3.5s)。 |
デフォルト | デフォルトは 3,600 秒(1 時間)です。 |
コンソール ラベル | 最大バックオフ時間 |
CLI のフラグ | --max-backoff |
API フィールド | maxBackoffDuration |
最大倍増回数
失敗したジョブの再試行間隔が一定になるまでの、間隔が倍増する最大回数。
説明 | 再試行の間隔は maxDoublings 回倍になります。ジョブの再試行間隔は、最初は
したがって、リクエストは 10 秒、20 秒、40 秒、80 秒、160 秒で再試行されます。
したがって、リクエストは 10 秒、20 秒、40 秒、120 秒、120 秒で再試行されます。 |
デフォルト | デフォルトは 5 です。 |
コンソール ラベル | 最大倍増回数 |
CLI のフラグ | --max-doublings |
API フィールド | maxDoublings |
再試行の例
次の例は、Cloud Scheduler ジョブが正常に完了しなかった場合の再試行の動作を示しています。
retryCount
とmaxRetryDuration
の両方が設定されていない場合どちらの設定もデフォルトは 0 で、ジョブは再試行されません。
Cloud Scheduler は、次のスケジュールされた実行時間にジョブの実行を試みます。
retryCount
とmaxRetryDuration
の両方が設定されている場合ジョブは、
maxRetryDuration
に達するまで少なくともretryCount
回再試行されます。ジョブは
retryCount
よりも多く再試行されることがあります。retryCount
が設定されていて、maxRetryDuration
が設定されていない場合maxRetryDuration
設定のデフォルトは 0 で、ジョブはretryCount
回だけ再試行されます。retryCount
が設定されておらず、maxRetryDuration
が設定されている場合ジョブは、
maxRetryDuration
に達するまで、任意の回数(最大 5 回)再試行されます。