BatchJobReleaseTask interface
作业发布任务,用于在作业完成时在作业运行的任何计算节点上运行。 作业发布任务在作业结束时运行,原因如下:用户调用终止作业 API,或在作业处于活动状态时删除作业 API,达到作业的最大时钟时间约束,作业仍处于活动状态或作业的作业管理器任务已完成,作业配置为在作业管理器完成时终止。 作业发布任务在运行作业的任务以及作业准备任务运行和完成的每个节点上运行。 如果在节点运行作业准备任务后重新映像节点,并且该作业将结束,且该节点上运行的作业没有任何进一步的任务(因此作业准备任务不会重新运行),则作业发布任务不会在该计算节点上运行。 如果在作业发布任务仍在运行时节点重新启动,则在计算节点启动时,作业发布任务会再次运行。 在完成所有作业发布任务之前,作业不会标记为完成。 作业发布任务在后台运行。 它不占用计划槽位;也就是说,它不计入池中指定的 taskSlotsPerNode 限制。
属性
| command |
作业发布任务的命令行。 命令行未在 shell 下运行,因此不能利用 shell 功能(如环境变量扩展)。 如果要利用这些功能,则应在命令行中调用 shell,例如在 Windows 中使用“cmd /c MyCommand”或在 Linux 中使用“/bin/sh -c MyCommand”。 如果命令行引用文件路径,则应使用相对路径(相对于任务工作目录),或使用 Batch 提供的环境变量(https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables)。 |
| container |
运行作业发布任务的容器的设置。 指定此项后,AZ_BATCH_NODE_ROOT_DIR(节点上的 Azure Batch 目录的根目录)以递归方式映射到容器中,所有任务环境变量都映射到容器中,并在容器中执行 Task 命令行。 在AZ_BATCH_NODE_ROOT_DIR外部容器中生成的文件可能不会反映在主机磁盘上,这意味着 Batch 文件 API 将无法访问这些文件。 |
| environment |
作业发布任务的环境变量设置列表。 |
| id | 一个字符串,用于唯一标识作业中的作业发布任务。 ID 可以包含字母数字字符的任意组合,包括连字符和下划线,不能包含超过 64 个字符。 如果未指定此属性,Batch 服务会分配默认值“jobrelease”。 作业中的其他任务不能具有与作业发布任务相同的 ID。 如果尝试提交具有相同 ID 的任务,Batch 服务会拒绝错误代码为 TaskIdSameAsJobReleaseTask 的请求;如果直接调用 REST API,则 HTTP 状态代码为 409(冲突)。 |
| max |
作业发布任务可以在给定的计算节点上运行的最大运行时间,从任务开始的时间开始。 如果任务未在时间限制内完成,Batch 服务将终止它。 默认值为 15 分钟。 不能指定超时时间超过 15 分钟。 如果这样做,Batch 服务会拒绝它并显示错误;如果直接调用 REST API,则 HTTP 状态代码为 400(请求错误)。 |
| resource |
Batch 服务在运行命令行之前将下载到计算节点的文件列表。 资源文件列表的最大大小。 超过最大大小时,请求将失败,响应错误代码将为 RequestEntityTooLarge。 如果发生这种情况,则必须减小 ResourceFiles 的集合大小。 这可以使用 .zip 文件、应用程序包或 Docker 容器来实现。 此元素下列出的文件位于任务的工作目录中。 |
| retention |
在计算节点上保留作业发布任务的任务目录的最短时间。 之后,Batch 服务可能会删除 Task 目录及其所有内容。 默认值为 7 天,即任务目录将保留 7 天,除非删除计算节点或删除作业。 |
| user |
运行作业发布任务的用户标识。 如果省略,任务将作为任务唯一的非管理用户运行。 |
属性详细信息
commandLine
作业发布任务的命令行。 命令行未在 shell 下运行,因此不能利用 shell 功能(如环境变量扩展)。 如果要利用这些功能,则应在命令行中调用 shell,例如在 Windows 中使用“cmd /c MyCommand”或在 Linux 中使用“/bin/sh -c MyCommand”。 如果命令行引用文件路径,则应使用相对路径(相对于任务工作目录),或使用 Batch 提供的环境变量(https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables)。
commandLine: string
属性值
string
containerSettings
运行作业发布任务的容器的设置。 指定此项后,AZ_BATCH_NODE_ROOT_DIR(节点上的 Azure Batch 目录的根目录)以递归方式映射到容器中,所有任务环境变量都映射到容器中,并在容器中执行 Task 命令行。 在AZ_BATCH_NODE_ROOT_DIR外部容器中生成的文件可能不会反映在主机磁盘上,这意味着 Batch 文件 API 将无法访问这些文件。
containerSettings?: BatchTaskContainerSettings
属性值
environmentSettings
id
一个字符串,用于唯一标识作业中的作业发布任务。 ID 可以包含字母数字字符的任意组合,包括连字符和下划线,不能包含超过 64 个字符。 如果未指定此属性,Batch 服务会分配默认值“jobrelease”。 作业中的其他任务不能具有与作业发布任务相同的 ID。 如果尝试提交具有相同 ID 的任务,Batch 服务会拒绝错误代码为 TaskIdSameAsJobReleaseTask 的请求;如果直接调用 REST API,则 HTTP 状态代码为 409(冲突)。
id?: string
属性值
string
maxWallClockTime
作业发布任务可以在给定的计算节点上运行的最大运行时间,从任务开始的时间开始。 如果任务未在时间限制内完成,Batch 服务将终止它。 默认值为 15 分钟。 不能指定超时时间超过 15 分钟。 如果这样做,Batch 服务会拒绝它并显示错误;如果直接调用 REST API,则 HTTP 状态代码为 400(请求错误)。
maxWallClockTime?: string
属性值
string
resourceFiles
Batch 服务在运行命令行之前将下载到计算节点的文件列表。 资源文件列表的最大大小。 超过最大大小时,请求将失败,响应错误代码将为 RequestEntityTooLarge。 如果发生这种情况,则必须减小 ResourceFiles 的集合大小。 这可以使用 .zip 文件、应用程序包或 Docker 容器来实现。 此元素下列出的文件位于任务的工作目录中。
resourceFiles?: ResourceFile[]
属性值
retentionTime
在计算节点上保留作业发布任务的任务目录的最短时间。 之后,Batch 服务可能会删除 Task 目录及其所有内容。 默认值为 7 天,即任务目录将保留 7 天,除非删除计算节点或删除作业。
retentionTime?: string
属性值
string