作业超时 - AWS Batch
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

作业超时

您可以为任务配置超时时间,以便在某个任务运行的时间超过超时时间时让 AWS Batch 终止该任务。例如,您可能有一个作业,并且您知道该作业只需 15 分钟即可完成。有时,您的应用程序会陷入循环并永远运行,因此您可以将超时设置为 30 分钟以终止卡住的作业。

您可以指定一个 attemptDurationSeconds 参数,该参数必须至少为 60 秒,在您的任务定义中,或者在您提交任务时。当此秒数已通过以下任务尝试的 startedAt 时间戳时,AWS Batch 会终止该任务。在计算资源上,作业的容器会收到 SIGTERM 信号,以便为应用程序提供正常关闭的机会。如果容器在 30 秒后仍在运行,则会发送 SIGKILL 信号以强制关闭容器。

超时终止是基于最佳效果来处理的。您不应期望超时终止正好在作业尝试超时时执行(可能有几秒钟的延迟)。如果您的应用程序需要精确的超时执行,您应该在该应用程序中实施此逻辑。如果您有大量任务同时超时,超时终止的行为将类似于先入先出队列,在此队列中,任务是成批终止的。

如果某个任务因超过超时时间而终止,它不会被重试。如果任务尝试自行失败,则当启用了重试并且超时倒计时对新尝试重新开始时,该任务可能会重试。

对于数组任务,子任务与父任务具有相同的超时配置。

有关提交带超时配置的 AWS Batch 作业的信息,请参阅提交作业