

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

# 任务状态
<a name="job_states"></a>

当您将作业提交到 AWS Batch 作业队列时，该作业将进入`SUBMITTED`状态。随后，它将经历以下状态，直至成功（退出并返回代码 `0`）或失败（退出并返回非零代码）。 AWS Batch 任务可具有以下状态：

`SUBMITTED`  
已提交到队列但仍尚未由计划程序评估的任务。计划程序将评估作业，确定在成功完成任何其他作业之前是否有任何未完成的依赖项。如果存在依赖项，作业将进入 `PENDING` 状态。如果不存在依赖项，作业将进入 `RUNNABLE` 状态。

`PENDING`  
驻留在队列中但因依赖其他作业或资源而导致尚无法运行的作业。在满足依赖关系后，作业将进入 `RUNNABLE` 状态。  
阵列作业父项`PENDING`会更新到任何子作业更新到的时间，`RUNNABLE`并在子作业运行时保持其`PENDING`状态。要查看这些作业，请按`PENDING`状态筛选，直到所有子作业都达到终止状态。

`RUNNABLE`  
驻留在队列中的没有任何未完成依赖项的作业，可在主机中计划运行该作业。一旦映射到作业队列的某个计算环境提供足够的资源，处于此状态的作业就会启动。不过，当没有足够资源可用时，作业会无限期地保持此状态。  
如果您的任务未进行到 `STARTING`，请参阅故障排除部分中的 [作业在`RUNNABLE`状态卡住](job_stuck_in_runnable.md)。

`STARTING`  
已在主机上计划运行这些作业，并且相关的容器启动操作正在进行中。在提取容器映像并且容器已启动并运行后，作业将过渡到 `RUNNING` 状态。  
图像提取持续时间、Amazon EKS initContainer 完成持续时间和 Amazon ECS containerDependency 解析持续时间处于“启动”状态。为作业提取映像所用时间等于作业处于 STARTING 状态的时长。  
例如，如果提取作业的映像需要三分钟，则您的作业将处于“启动”状态三分钟。如果 initContainers 总共需要十分钟才能完成，则您的 Amazon EKS 作业将在“启动”状态下持续十分钟。如果您的 Amazon ECS 作业中设置了 Amazon ECS containerDependencies，则在解析所有容器依赖项（其运行时）之前，该作业将处于“启动”状态。“启动”不包含在超时中；持续时间从“运行”开始。有关更多信息，请参阅[作业状态](https://docs.aws.amazon.com/batch/latest/userguide/job_states.html)。

`RUNNING`  
作业正作为容器作业在计算环境中的 Amazon ECS 容器实例上运行。当作业容器退出时，进程退出代码将确定作业是成功还是失败。退出代码 `0` 表示成功，非零退出代码表示失败。如果作业与失败的尝试关联，但在其可选重试策略配置中还有剩余的尝试次数，则作业将再次进入 `RUNNABLE` 状态。有关更多信息，请参阅 [自动作业重试](job_retries.md)。  
`RUNNING`作业日志可在 CloudWatch 日志中找到。日志组是 `/aws/batch/job`，日志流名称格式如下：`first200CharsOfJobDefinitionName/default/ecs_task_id`。这种格式未来可能会改变。  
任务达到`RUNNING`状态后，您可以通过 [DescribeJobs](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobs.html)API 操作以编程方式检索其日志流名称。有关更多信息，请参阅 *Amazon Logs 用户指南中的查看发送到 CloudWatch CloudWatch 日志*[的日志数据](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#ViewingLogData)。默认情况下，这些日志永不过期。但是，您可以修改备份保留期。有关更多信息，请参阅 *Amazon Lo CloudWatch gs 用户指南中的更改 CloudWatch 日志*[数据保留期](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SettingLogRetention.html)。

`SUCCEEDED`  
作业已成功完成，并返回退出代码 `0`。作业的`SUCCEEDED`作业状态会持续 AWS Batch 至少 7 天。  
`SUCCEEDED`作业日志可在 CloudWatch 日志中找到。日志组是 `/aws/batch/job`，日志流名称格式如下：`first200CharsOfJobDefinitionName/default/ecs_task_id`。这种格式未来可能会改变。  
任务达到`RUNNING`状态后，您可以通过 [DescribeJobs](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobs.html)API 操作以编程方式检索其日志流名称。有关更多信息，请参阅 *Amazon Logs 用户指南中的查看发送到 CloudWatch CloudWatch 日志*[的日志数据](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#ViewingLogData)。默认情况下，这些日志永不过期。但是，您可以修改备份保留期。有关更多信息，请参阅 *Amazon Lo CloudWatch gs 用户指南中的更改 CloudWatch 日志*[数据保留期](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SettingLogRetention.html)。

`FAILED`  
在执行所有可用尝试后，作业失败。`FAILED` 作业的作业状态在 AWS Batch 中保留至少 7 天。  
`FAILED`作业日志可在 CloudWatch 日志中找到。日志组是 `/aws/batch/job`，日志流名称格式如下：`first200CharsOfJobDefinitionName/default/ecs_task_id`。这种格式未来可能会改变。  
任务达到`RUNNING`状态后，您可以通过 [DescribeJobs](https://docs.aws.amazon.com/batch/latest/APIReference/API_DescribeJobs.html)API 操作以编程方式检索其日志流。有关更多信息，请参阅 *Amazon Logs 用户指南中的查看发送到 CloudWatch CloudWatch 日志*[的日志数据](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html#ViewingLogData)。默认情况下，这些日志永不过期。但是，您可以修改备份保留期。有关更多信息，请参阅 *Amazon Lo CloudWatch gs 用户指南中的更改 CloudWatch 日志*[数据保留期](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/SettingLogRetention.html)。