本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
自動化任務重試
您可將重試策略套用至任務和任務定義,讓失敗的任務自動重試。可能的失敗案例包括:
-
容器任務有任何的非零結束代碼
-
Amazon EC2執行個體失敗或終止
-
內部 AWS 服務錯誤或中斷
當任務提交至任務佇列,並置於視為嘗試RUNNING
的狀態時。根據預設,每個任務會嘗試一次移至 SUCCEEDED
或 FAILED
任務狀態。不過,任務定義和任務提交工作流程都可以用來指定重試策略,嘗試次數介於 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
狀態。如需詳細資訊,請參閱任務狀態。
注意
已取消或終止的任務不會重試。此外,不會重試因為任務定義無效而失敗的任務。
如需詳細資訊,請參閱 重試策略、 建立單節點任務定義 教學課程:提交任務和 停止任務錯誤碼 。