View a markdown version of this page

使用作业自动修复 StateTimeLimitActions - AWS Batch

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用作业自动修复 StateTimeLimitActions

或者,您可以通过 CreateJobQueueUpdateJobQueue API 操作配置 jobStateTimeLimitActions 参数。

注意

目前,对于连接到 Amazon ECS、Amazon EKS 或 Fargate 计算环境的任务队列,您可以使用的唯一操作jobStateLimitActions.action就是取消任务。

jobStateTimeLimitActions参数用于指定对处于特定状态的作业 AWS Batch 执行的一组操作。您可以通过 maxTimeSeconds 字段设置以秒为单位的时间阈值。

当作业处于已定义的RUNNABLE状态时statusReason,将在经过后 AWS Batch maxTimeSeconds执行指定的操作。

例如,对于处于 RUNNABLE 状态等待足够容量可用的任何作业,您可以将 jobStateTimeLimitActions 参数设置为最多等待 4 小时。为此,您可以先将该任务设置statusReasonmaxTimeSecondsCAPACITY:INSUFFICIENT_INSTANCE_CAPACITY和设置为 14400,然后再取消该任务并允许下一个作业进入任务队列的开头。

ListJobsDescribeJobs API 操作返回的值与您可以为jobStateTimeLimitActions.statusReason参数定义的值相同。statusReason但是,并非所有statusReason值都支持自动修复。

支持以下statusReasonjobStateTimeLimitActions

  • CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY

  • MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE

  • MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT

以下statusReason值不支持jobStateTimeLimitActions,需要手动调查:

  • MISCONFIGURATION:SERVICE_ROLE_PERMISSIONS

  • ACTION_REQUIRED

  • UNDETERMINED