自動化任務重試 - AWS Batch

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

自動化任務重試

您可將重試策略套用至任務和任務定義,讓失敗的任務自動重試。可能的失敗案例包括:

  • 容器任務有任何的非零結束代碼

  • Amazon EC2執行個體失敗或終止

  • 內部 AWS 服務錯誤或中斷

當任務提交至任務佇列,並置於視為嘗試RUNNING的狀態時。根據預設,每個任務會嘗試一次移至 SUCCEEDEDFAILED 任務狀態。不過,任務定義和任務提交工作流程都可以用來指定重試策略,嘗試次數介於 1 到 10 次之間。如果指定 evaluateOnExit ,則最多可包含 5 個重試策略。如果 evaluateOnExit 已指定,但沒有任何重試策略相符,則會重試任務。對於不符合以結束的任務,請新增因任何原因結束的最終項目。例如,此evaluateOnExit物件有兩個具有 動作的項目,RETRY以及具有 動作的最終項目EXIT

"evaluateOnExit": [ { "action": "RETRY", "onReason": "AGENT" }, { "action": "RETRY", "onStatusReason": "Task failed to start" }, { "action": "EXIT", "onReason": "*" } ]

在執行時間,AWS_BATCH_JOB_ATTEMPT 環境變數設為容器的對應任務嘗試次數。第一次嘗試會編號為 1,後續嘗試會以遞增順序 (例如 2、3、4)。

例如,假設任務嘗試因任何原因失敗,且重試組態中指定的嘗試次數大於AWS_BATCH_JOB_ATTEMPT數字。然後,任務會放回 RUNNABLE 狀態。如需詳細資訊,請參閱任務狀態

注意

已取消或終止的任務不會重試。此外,不會重試因為任務定義無效而失敗的任務。

如需詳細資訊,請參閱 重試策略建立單節點任務定義 教學課程:提交任務停止任務錯誤碼