

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

# 使用`作业`自动修复 StateTimeLimitActions
<a name="job_stuck_in_runnable_time_limit_actions"></a>

或者，您可以通过 `[CreateJobQueue](https://docs.aws.amazon.com/batch/latest/APIReference/API_CreateJobQueue.html)` 和 [https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateJobQueue.html](https://docs.aws.amazon.com/batch/latest/APIReference/API_UpdateJobQueue.html) API 操作配置 `jobStateTimeLimitActions` 参数。

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

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

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

例如，对于处于 `RUNNABLE` 状态等待足够容量可用的任何作业，您可以将 `jobStateTimeLimitActions` 参数设置为最多等待 4 小时。为此，您可以先将该任务设置`statusReason``maxTimeSeconds`为`CAPACITY:INSUFFICIENT_INSTANCE_CAPACITY`和设置为 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`