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

作业状态

当您将一个任务提交到 AWS Batch 任务队列时,该任务将进入 SUBMITTED 状态。随后,它将经历以下状态,直至成功(退出并返回代码 0)或失败(退出并返回非零代码)。AWS Batch 任务可具有以下状态:

SUBMITTED

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

PENDING

驻留在队列中但因依赖其他作业或资源而导致尚无法运行的作业。在满足依赖关系后,作业将进入 RUNNABLE 状态。

RUNNABLE

驻留在队列中的没有任何未完成依赖项的作业,可在主机中计划运行该作业。一旦映射到作业队列的某个计算环境提供足够的资源,处于此状态的作业就会启动。不过,当没有足够资源可用时,作业会无限期地保持此状态。

注意

如果您的任务未进行到 STARTING,请参阅故障排除部分中的 作业在 RUNNABLE 状态卡住

STARTING

已在主机上计划运行这些作业,并且相关的容器启动操作正在进行中。在提取容器映像并且容器已启动并运行后,作业将过渡到 RUNNING 状态。

RUNNING

作业正作为容器作业在计算环境中的 Amazon ECS 容器实例上运行。当作业容器退出时,进程退出代码将确定作业是成功还是失败。退出代码 0 表示成功,非零退出代码表示失败。如果作业与失败的尝试关联,但在其可选重试策略配置中还有剩余的尝试次数,则作业将再次进入 RUNNABLE 状态。有关更多信息,请参阅自动作业重试

注意

CloudWatch Logs 中提供 RUNNING 任务的日志,日志组是 /aws/batch/job,日志流名称格式为 jobDefinitionName/default/ecs_task_id(此格式在日后可能会更改)。

在任务到达 RUNNING 状态后,您可以使用 DescribeJobs API 操作以编程方式检索其日志流名称。有关更多信息,请参阅 Amazon CloudWatch Logs User Guide 中的查看发送到 CloudWatch Logs 的日志数据。默认情况下,这些日志设置为永不过期,但您可以修改保留期。有关更多信息,请参阅 中的更改 中的日志数据保留期。

SUCCEEDED

作业已成功完成,并返回退出代码 0SUCCEEDED 任务的任务状态在 AWS Batch 中保留 24 小时。

注意

CloudWatch Logs 中提供 SUCCEEDED 任务的日志,日志组是 /aws/batch/job,日志流名称格式为 jobDefinitionName/default/ecs_task_id(此格式在日后可能会更改)。

在任务到达 RUNNING 状态后,您可以使用 DescribeJobs API 操作以编程方式检索其日志流名称。有关更多信息,请参阅 Amazon CloudWatch Logs User Guide 中的查看发送到 CloudWatch Logs 的日志数据。默认情况下,这些日志设置为永不过期,但您可以修改保留期。有关更多信息,请参阅 中的更改 中的日志数据保留期。

FAILED

在执行所有可用尝试后,作业失败。FAILED 任务的任务状态在 AWS Batch 中保留 24 小时。

注意

CloudWatch Logs 中提供 FAILED 任务的日志,日志组是 /aws/batch/job,日志流名称格式为 jobDefinitionName/default/ecs_task_id(此格式在日后可能会更改)。

在任务到达 RUNNING 状态后,您可以使用 DescribeJobs API 操作以编程方式检索其日志流。有关更多信息,请参阅 Amazon CloudWatch Logs User Guide 中的查看发送到 CloudWatch Logs 的日志数据。默认情况下,这些日志设置为永不过期,但您可以修改保留期。有关更多信息,请参阅 中的更改 中的日志数据保留期。