本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
您可以設定任務的逾時時間,如此一來,假如任務執行超過該時間, AWS Batch 便會終止該任務。例如,您可能有一個您知道應該只需要 15 分鐘完成的任務。有時您的應用程式會一直卡在迴圈和執行中,因此您可以設定逾時為 30 分鐘以終止卡住的任務。
重要
根據預設, AWS Batch 沒有任務逾時。如果您未定義任務逾時,任務會執行,直到容器結束為止。
您在任務定義內或是當您提交此任務時指定 attemptDurationSeconds
參數,該參數必須至少有 60 秒。當此秒數在任務嘗試的startedAt
時間戳記之後經過時, 會 AWS Batch 終止任務。在運算資源時,您的任務容器會收到 SIGTERM
訊號,讓您的應用程式有機會正常關閉。如果容器在 30 秒後仍在執行中,則會傳送 SIGKILL
訊號以強制關閉容器。
逾時終止會依最佳作法來處理。您不應該預期逾時終止會在任務嘗試逾時時完全發生 (可能需要多幾秒鐘的時間)。如果您的應用程式需要精確執行逾時,您應在應用程式內實作此邏輯。如果您有大量任務同時逾時,逾時終止將採用前進先出佇列,按批次終止任務。
注意
AWS Batch 任務沒有最大逾時值。
如果任務因超過逾時持續時間而終止,則不會重試。如果任務嘗試自行失敗,任務會在啟用重試下進行重試,且進行新嘗試時將重新開始逾時倒數。
重要
在 Fargate 資源上執行的任務無法預期執行超過 14 天。如果逾時持續時間超過 14 天,則 Fargate 資源可能不再可用,且任務將終止。
對於陣列任務,子任務的逾時設定與父任務相同。
如需使用逾時組態提交 AWS Batch 任務的詳細資訊,請參閱 教學課程:提交任務。