BatchTaskOutput interface
当在节点上触发恢复操作时,Batch 将重试任务。 恢复操作的示例包括(但不限于)在重新启动运行不正常的节点或计算节点因主机故障而消失时。 由于恢复操作而进行的重试与 maxTaskRetryCount 无关,并且不计入 maxTaskRetryCount。 即使 maxTaskRetryCount 为 0,也可能发生由于恢复操作而导致的内部重试。 因此,所有任务都应是幂等的。 这意味着任务需要容忍中断和重启,而不会导致任何损坏或重复数据。 长时间运行的任务的最佳做法是使用某种形式的检查点。
属性
| affinity |
Batch 服务可以使用的区域提示选择要启动新任务的计算节点。 |
| application |
Batch 服务在运行命令行之前将部署到计算节点的包列表。 应用程序包下载并部署到共享目录,而不是任务工作目录。 因此,如果引用的包已在节点上,并且是最新的,则不会重新下载它;使用计算节点上的现有副本。 如果无法安装引用的包,例如由于包已删除或下载失败,则任务将失败。 |
| authentication |
任务可用于执行 Batch 服务操作的身份验证令牌的设置。 如果设置了此属性,Batch 服务会向任务提供身份验证令牌,该令牌可用于对 Batch 服务操作进行身份验证,而无需帐户访问密钥。 令牌通过AZ_BATCH_AUTHENTICATION_TOKEN环境变量提供。 任务可以使用令牌执行的操作取决于设置。 例如,任务可以请求作业权限,以便将其他任务添加到作业,或检查作业的状态或作业下的其他任务的状态。 |
| 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)。 |
| constraints | 应用于此任务的执行约束。 |
| container |
任务在其中运行的容器的设置。 如果运行此任务的池已设置 containerConfiguration 集,则还必须设置该池。 如果运行此任务的池没有 containerConfiguration 集,则不能设置此设置。 指定此项后,AZ_BATCH_NODE_ROOT_DIR(节点上的 Azure Batch 目录的根目录)以递归方式映射到容器中,所有任务环境变量都映射到容器中,并在容器中执行 Task 命令行。 在AZ_BATCH_NODE_ROOT_DIR外部容器中生成的文件可能不会反映在主机磁盘上,这意味着 Batch 文件 API 将无法访问这些文件。 |
| creation |
任务的创建时间。 |
| depends |
此任务所依赖的任务。 除非它依赖的所有任务都成功完成,否则不会计划此任务。 如果其中任一任务失败并耗尽其重试计数,则永远不会计划此任务。 |
| display |
任务的显示名称。 显示名称不一定是唯一的,可以包含最大长度为 1024 的任何 Unicode 字符。 |
| environment |
任务的环境变量设置列表。 |
| e |
任务的 ETag。 这是一个不透明的字符串。 可以使用它来检测任务是否在请求之间发生了更改。 具体而言,可以在更新任务时传递 ETag,以指定只有在其他人同时没有修改该任务时,更改才会生效。 |
| execution |
有关任务执行的信息。 |
| exit |
Batch 服务在任务完成时应如何响应。 |
| id | 唯一标识作业中的任务的字符串。 ID 可以包含字母数字字符(包括连字符和下划线)的任意组合,并且不能包含超过 64 个字符。 |
| last |
任务的上次修改时间。 |
| multi |
一个对象,指示任务是多实例任务,并包含有关如何运行多实例任务的信息。 |
| node |
有关运行任务的计算节点的信息。 |
| output |
运行命令行后,Batch 服务将从计算节点上传的文件列表。 对于多实例任务,文件将仅从执行主任务的计算节点上传。 |
| previous |
任务的上一个状态。 如果任务处于初始活动状态,则不会设置此属性。 可能的值:“active”、“preparing”、“running”、“completed” |
| previous |
任务进入其上一状态的时间。 如果任务处于初始活动状态,则不会设置此属性。 |
| required |
任务运行所需的计划槽数。 默认值为 1。 如果节点有足够的可用计划槽,则只能计划任务在计算节点上运行。 对于多实例任务,这必须是 1。 |
| resource |
Batch 服务在运行命令行之前将下载到计算节点的文件列表。 对于多实例任务,资源文件将仅下载到执行主任务的计算节点。 资源文件列表的最大大小。 超过最大大小时,请求将失败,响应错误代码将为 RequestEntityTooLarge。 如果发生这种情况,则必须减小 ResourceFiles 的集合大小。 这可以使用 .zip 文件、应用程序包或 Docker 容器来实现。 |
| state | 任务的当前状态。 可能的值:“active”、“preparing”、“running”、“completed” |
| state |
任务进入其当前状态的时间。 |
| stats | 任务的资源使用情况统计信息。 |
| url | 任务的 URL。 |
| user |
运行任务的用户标识。 如果省略,任务将作为任务唯一的非管理用户运行。 |
属性详细信息
affinityInfo
applicationPackageReferences
Batch 服务在运行命令行之前将部署到计算节点的包列表。 应用程序包下载并部署到共享目录,而不是任务工作目录。 因此,如果引用的包已在节点上,并且是最新的,则不会重新下载它;使用计算节点上的现有副本。 如果无法安装引用的包,例如由于包已删除或下载失败,则任务将失败。
applicationPackageReferences?: BatchApplicationPackageReferenceOutput[]
属性值
authenticationTokenSettings
任务可用于执行 Batch 服务操作的身份验证令牌的设置。 如果设置了此属性,Batch 服务会向任务提供身份验证令牌,该令牌可用于对 Batch 服务操作进行身份验证,而无需帐户访问密钥。 令牌通过AZ_BATCH_AUTHENTICATION_TOKEN环境变量提供。 任务可以使用令牌执行的操作取决于设置。 例如,任务可以请求作业权限,以便将其他任务添加到作业,或检查作业的状态或作业下的其他任务的状态。
authenticationTokenSettings?: AuthenticationTokenSettingsOutput
属性值
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
constraints
containerSettings
任务在其中运行的容器的设置。 如果运行此任务的池已设置 containerConfiguration 集,则还必须设置该池。 如果运行此任务的池没有 containerConfiguration 集,则不能设置此设置。 指定此项后,AZ_BATCH_NODE_ROOT_DIR(节点上的 Azure Batch 目录的根目录)以递归方式映射到容器中,所有任务环境变量都映射到容器中,并在容器中执行 Task 命令行。 在AZ_BATCH_NODE_ROOT_DIR外部容器中生成的文件可能不会反映在主机磁盘上,这意味着 Batch 文件 API 将无法访问这些文件。
containerSettings?: BatchTaskContainerSettingsOutput
属性值
creationTime
任务的创建时间。
creationTime: string
属性值
string
dependsOn
此任务所依赖的任务。 除非它依赖的所有任务都成功完成,否则不会计划此任务。 如果其中任一任务失败并耗尽其重试计数,则永远不会计划此任务。
dependsOn?: BatchTaskDependenciesOutput
属性值
displayName
任务的显示名称。 显示名称不一定是唯一的,可以包含最大长度为 1024 的任何 Unicode 字符。
displayName?: string
属性值
string
environmentSettings
eTag
任务的 ETag。 这是一个不透明的字符串。 可以使用它来检测任务是否在请求之间发生了更改。 具体而言,可以在更新任务时传递 ETag,以指定只有在其他人同时没有修改该任务时,更改才会生效。
eTag: string
属性值
string
executionInfo
exitConditions
id
唯一标识作业中的任务的字符串。 ID 可以包含字母数字字符(包括连字符和下划线)的任意组合,并且不能包含超过 64 个字符。
id: string
属性值
string
lastModified
任务的上次修改时间。
lastModified: string
属性值
string
multiInstanceSettings
一个对象,指示任务是多实例任务,并包含有关如何运行多实例任务的信息。
multiInstanceSettings?: MultiInstanceSettingsOutput
属性值
nodeInfo
outputFiles
运行命令行后,Batch 服务将从计算节点上传的文件列表。 对于多实例任务,文件将仅从执行主任务的计算节点上传。
outputFiles?: OutputFileOutput[]
属性值
previousState
任务的上一个状态。 如果任务处于初始活动状态,则不会设置此属性。
可能的值:“active”、“preparing”、“running”、“completed”
previousState?: string
属性值
string
previousStateTransitionTime
任务进入其上一状态的时间。 如果任务处于初始活动状态,则不会设置此属性。
previousStateTransitionTime?: string
属性值
string
requiredSlots
任务运行所需的计划槽数。 默认值为 1。 如果节点有足够的可用计划槽,则只能计划任务在计算节点上运行。 对于多实例任务,这必须是 1。
requiredSlots?: number
属性值
number
resourceFiles
Batch 服务在运行命令行之前将下载到计算节点的文件列表。 对于多实例任务,资源文件将仅下载到执行主任务的计算节点。 资源文件列表的最大大小。 超过最大大小时,请求将失败,响应错误代码将为 RequestEntityTooLarge。 如果发生这种情况,则必须减小 ResourceFiles 的集合大小。 这可以使用 .zip 文件、应用程序包或 Docker 容器来实现。
resourceFiles?: ResourceFileOutput[]
属性值
state
任务的当前状态。
可能的值:“active”、“preparing”、“running”、“completed”
state: string
属性值
string
stateTransitionTime
任务进入其当前状态的时间。
stateTransitionTime: string
属性值
string
stats
url
任务的 URL。
url: string
属性值
string