View a markdown version of this page

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

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

使用作业自动修复 StateTimeLimitActions

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

注意

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

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

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

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

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

以下statusReason值支持jobStateTimeLimitActions:

  • CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY

  • MISCONFIGURATION:COMPUTE_ENVIRONMENT_MAX_RESOURCE

  • MISCONFIGURATION:JOB_RESOURCE_REQUIREMENT

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

  • MISCONFIGURATION:SERVICE_ROLE_PERMISSIONS

  • ACTION_REQUIRED

  • UNDETERMINED