查看作业队列状态
创建作业队列并提交作业后,能够监控其进度非常重要。您可以使用作业详细信息页面来查看、管理和监控您的作业队列。
查看作业队列信息
从 Amazon Batch 控制台中,在导航窗格中选择作业队列,然后选择所需的任务队列以查看其详细信息。在此页面上,您可以查看和管理您的作业队列并查看有关队列操作的其他信息,例如作业队列快照、作业状态限制、环境顺序、标签和作业队列的 JSON 代码。
作业队列详细信息
本部分提供了作业队列概述和维护选项。值得注意的是,您可以在本部分中找到 Amazon 资源名称(ARN)。
要通过 Amazon Command Line Interface 查找此信息,请使用 DescribeJobQueues 操作以及作业队列名称或相应的 ARN。
作业队列快照
本节提供队列中前 100 个 RUNNABLE 作业的静态列表。您可以使用搜索字段通过搜索结果部分任意列中的信息来缩小列表范围。快照结果区域中的作业根据作业队列的运行策略排序。对于先进先出(FIFO)作业队列,作业的排序基于提交时间。对于公平份额调度作业队列,作业的排序基于作业优先级和份额使用情况。
由于结果是作业队列的快照,因此结果列表不会自动更新。要更新列表,请选择该部分顶部的刷新。选择作业的名称超链接可导航至任务详细信息并查看该作业的状态以及其他相关信息。
要通过 Amazon CLI 查找此信息,请使用 GetJobQueueSnapshot 操作以及作业队列名称或相应的 ARN。
aws batch get-job-queue-snapshot --job-queue my-sm-training-fifo-jq
作业状态限制
使用此选项卡可以查看有关作业在取消之前可以保持 RUNNABLE 状态的时间的配置信息。
要通过 Amazon CLI 查找此信息,请使用 DescribeJobQueues 操作以及作业队列名称或相应的 ARN。
环境顺序
如果您的作业队列在多个环境中运行,则此选项卡会提供它们的顺序和概述。
要通过 Amazon CLI 查找此信息,请使用 DescribeJobQueues 操作以及作业队列名称或相应的 ARN。
标签
使用此选项卡查看和管理与此作业队列关联的标签。
JSON
使用此选项卡复制与此作业队列关联的 JSON 代码。然后,您可以将 JSON 重复用于 Amazon CloudFormation 模板和 Amazon CLI 脚本。
监控服务作业
您可以使用多个 Amazon Batch 命令来监控作业队列中服务作业的状态。服务作业是在 SageMaker 训练等 Amazon 服务上运行的作业,由 Amazon Batch 提供调度和排队功能,而目标服务负责处理作业执行。
按状态列出服务作业
使用 ListServiceJobs 操作查看队列中按状态筛选出的服务作业。服务作业可能的状态如下:
-
SUBMITTED:作业已提交但尚未处理 -
PENDING:作业待处理,正在等待资源 -
RUNNABLE:作业已准备好运行,正在队列中等待 -
STARTING:作业正在启动 -
RUNNING:作业当前正在运行 -
SCHEDULED:作业已提交到目标服务,但尚未运行 -
SUCCEEDED:作业已成功完成 -
FAILED:作业未能完成
查看队列中正在运行的作业:
aws batch list-service-jobs \ --job-queuemy-sm-training-fifo-jq\ --job-status RUNNING
查看队列中正在等待的作业:
aws batch list-service-jobs \ --job-queuemy-sm-training-fifo-jq\ --job-status RUNNABLE
查看已提交到 SageMaker 但尚未运行的作业:
aws batch list-service-jobs \ --job-queuemy-sm-training-fifo-jq\ --job-status SCHEDULED
查看所有已成功的作业:
aws batch list-service-jobs \ --job-queuemy-sm-training-fifo-jq\ --job-status SUCCEEDED
查看失败的作业以进行问题排查:
aws batch list-service-jobs \ --job-queuemy-sm-training-fifo-jq\ --job-status FAILED
筛选服务作业
您可以使用模式匹配按名称筛选服务作业。如果筛选条件值以星号(*)结尾,则将匹配任何以“*”之前的字符串开头的作业名称。
查找名称以“training”开头的作业:
aws batch list-service-jobs \ --job-queuemy-sm-training-fifo-jq\ --filters name=JOB_NAME,values=training*
查找具有特定名称的作业:
aws batch list-service-jobs \ --job-queuemy-sm-training-fifo-jq\ --filters name=JOB_NAME,values=my-training-job-1,my-training-job-2
组合状态和名称筛选条件:
aws batch list-service-jobs \ --job-queuemy-sm-training-fifo-jq\ --job-status RUNNING \ --filters name=JOB_NAME,values=production*
处理大型结果集
如果您有许多服务作业,可使用分页来有效地管理结果。
限制返回的结果数量:
aws batch list-service-jobs \ --job-queuemy-sm-training-fifo-jq\ --max-results 10
使用下一个令牌来获取更多结果:
aws batch list-service-jobs \ --job-queuemy-sm-training-fifo-jq\ --max-results 10 \ --next-tokeneyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
获取详细的服务作业信息
使用 DescribeServiceJob 操作可以获取有关特定服务作业的全面信息,包括其当前状态、服务资源标识符和详细尝试信息。
查看有关特定作业的详细信息:
aws batch describe-service-job \ --job-ida4d6c728-8ee8-4c65-8e2a-9a5e8f4b7c3d
此命令会返回有关此作业的全面信息,包括:
-
作业 ARN 和当前状态
-
服务资源标识符(例如 SageMaker 训练作业 ARN)
-
调度优先级和重试配置
-
包含原始服务参数的服务请求有效载荷
-
详细尝试信息,包括启动和停止时间
-
来自目标服务的状态消息
监控 SageMaker 训练作业
通过 Amazon Batch 监控 SageMaker 训练作业时,您可以访问 Amazon Batch 作业信息和底层 SageMaker 训练作业详细信息。
作业详细信息中的服务资源标识符包含 SageMaker 训练作业 ARN:
{ "latestAttempt": { "serviceResourceId": { "name": "TrainingJobArn", "value": "arn:aws:sagemaker:us-east-1:123456789012:training-job/my-training-job" } } }
您可以使用此 ARN 直接从 SageMaker 获取更多详细信息:
aws sagemaker describe-training-job \ --training-job-namemy-training-job
通过检查 Amazon Batch 状态和 SageMaker 训练作业状态来监控作业进度。Amazon Batch 作业状态会显示整个作业生命周期,而 SageMaker 训练作业状态则提供有关训练过程的服务特定详细信息。
终止服务作业
使用 TerminateServiceJob 操作停止正在运行的服务作业。
终止特定的服务作业:
aws batch terminate-service-job \ --job-ida4d6c728-8ee8-4c65-8e2a-9a5e8f4b7c3d\ --reason "Job terminated by user request"
当您终止服务作业时,Amazon Batch 将会停止该作业并通知目标服务。对于 SageMaker 训练作业,还将停止 SageMaker AI 中的训练作业。