根據預設,如果 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」。 |
預設 | 預設值為 3600 秒 (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
工作會重試至少
retryCount
次,直到達到maxRetryDuration
為止。請注意,工作重試次數可能超過
retryCount
。- 如果已設定
retryCount
,但未設定maxRetryDuration
maxRetryDuration
設定預設為 0,工作會重試retryCount
次。- 如果未設定
retryCount
,但已設定maxRetryDuration
工作會重試任意次數 (最多 5 次),或直到達到
maxRetryDuration
為止。