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目录根)下方的所有目录递归映射到容器中,所有任务环境变量映射到容器中,任务命令行在容器中执行。 容器中AZ_BATCH_NODE_ROOT_DIR外生成的文件可能不会反映到主机磁盘,这意味着批处理文件API无法访问这些文件。 |
| environment |
作业释放任务的环境变量设置列表。 |
| id | 一个字符串,唯一标识作业中的作业释放任务。 ID可以包含任意组合的字母数字字符,包括连字符和下划线,且字符数不得超过64个。 如果你没有指定该属性,批处理服务会为默认值分配“jobrelease”值。 作业中没有其他任务可以拥有与作业释放任务相同的 ID。 如果你尝试提交一个带有相同 id 的任务,批处理服务会以错误代码 TaskIdSameAsJobReleaseTask 拒绝请求;如果你直接调用 REST API,HTTP 状态码是 409(冲突)。 |
| max |
作业释放任务在给定计算节点上运行的最大时间,从任务开始时间计算起算。 如果任务在时间限制内未完成,批处理服务会终止任务。 默认值为 15 分钟。 你不能指定超过15分钟的暂停时间。 如果有,批处理服务会错误地拒绝它;如果你直接调用 REST API,HTTP 状态码是 400(错误请求)。 时间持续时间以ISO 8601格式规定。 |
| resource |
Batch 服务在运行命令行之前将下载到计算节点的文件列表。 资源文件列表的最大大小。 超过最大大小时,请求将失败,响应错误代码将为 RequestEntityTooLarge。 如果发生这种情况,则必须减小 ResourceFiles 的集合大小。 这可以使用 .zip 文件、应用程序包或 Docker 容器来实现。 此元素下列出的文件位于任务的工作目录中。 |
| retention |
计算节点上作业释放任务的任务目录保存的最短时间。 此后,批处理服务可能会删除任务目录及其所有内容。 默认为7天,也就是说,除非计算节点被移除或作业被删除,否则任务目录将保留7天。 时间持续时间以ISO 8601格式规定。 |
| 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目录根)下方的所有目录递归映射到容器中,所有任务环境变量映射到容器中,任务命令行在容器中执行。 容器中AZ_BATCH_NODE_ROOT_DIR外生成的文件可能不会反映到主机磁盘,这意味着批处理文件API无法访问这些文件。
containerSettings?: BatchTaskContainerSettings
属性值
environmentSettings
id
一个字符串,唯一标识作业中的作业释放任务。 ID可以包含任意组合的字母数字字符,包括连字符和下划线,且字符数不得超过64个。 如果你没有指定该属性,批处理服务会为默认值分配“jobrelease”值。 作业中没有其他任务可以拥有与作业释放任务相同的 ID。 如果你尝试提交一个带有相同 id 的任务,批处理服务会以错误代码 TaskIdSameAsJobReleaseTask 拒绝请求;如果你直接调用 REST API,HTTP 状态码是 409(冲突)。
id?: string
属性值
string
maxWallClockTime
作业释放任务在给定计算节点上运行的最大时间,从任务开始时间计算起算。 如果任务在时间限制内未完成,批处理服务会终止任务。 默认值为 15 分钟。 你不能指定超过15分钟的暂停时间。 如果有,批处理服务会错误地拒绝它;如果你直接调用 REST API,HTTP 状态码是 400(错误请求)。 时间持续时间以ISO 8601格式规定。
maxWallClockTime?: string
属性值
string
resourceFiles
Batch 服务在运行命令行之前将下载到计算节点的文件列表。 资源文件列表的最大大小。 超过最大大小时,请求将失败,响应错误代码将为 RequestEntityTooLarge。 如果发生这种情况,则必须减小 ResourceFiles 的集合大小。 这可以使用 .zip 文件、应用程序包或 Docker 容器来实现。 此元素下列出的文件位于任务的工作目录中。
resourceFiles?: ResourceFile[]
属性值
retentionTime
计算节点上作业释放任务的任务目录保存的最短时间。 此后,批处理服务可能会删除任务目录及其所有内容。 默认为7天,也就是说,除非计算节点被移除或作业被删除,否则任务目录将保留7天。 时间持续时间以ISO 8601格式规定。
retentionTime?: string
属性值
string