BatchJobManagerTaskOutput interface

Указывает сведения о задаче диспетчера заданий. Задача диспетчера заданий автоматически запускается при создании задания. Пакетная служба пытается запланировать задачу диспетчера заданий перед любыми другими задачами в задании. При сокращении пула служба пакетной службы пытается сохранить узлы, где выполняются задачи диспетчера заданий в течение максимально возможного времени (т. е. вычислительные узлы, выполняющие "обычные" задачи, удаляются перед выполнением вычислительных узлов, выполняющих задачи диспетчера заданий). Если задача диспетчера заданий завершается сбоем и должна быть перезапущена, система пытается запланировать ее с наивысшим приоритетом. Если нет доступных неактивных вычислительных узлов, система может завершить одну из выполняемых задач в пуле и вернуть ее в очередь, чтобы освободить место для перезапуска задачи диспетчера заданий. Обратите внимание, что задача диспетчера заданий в одном задании не имеет приоритета над задачами в других заданиях. В заданиях наблюдаются только приоритеты на уровне заданий. Например, если диспетчер заданий в приоритете 0 должен быть перезапущен, он не переместит задачи приоритета 1 задания. Пакетная служба будет повторять задачи при активации операции восстановления на узле. Примеры операций восстановления включают (но не ограничиваются) при перезагрузке неработоспособного узла или вычислительном узле исчезли из-за сбоя узла. Повторные попытки из-за операций восстановления не учитываются и не учитываются для maxTaskRetryCount. Даже если значение maxTaskRetryCount равно 0, может произойти внутренняя повторная попытка из-за операции восстановления. Из-за этого все задачи должны быть идемпотентными. Это означает, что задачи должны терпеть прерывание и перезапуск без повреждения или дублирования данных. Рекомендуется использовать определенную форму контрольных точек для длительных задач.

Свойства

allowLowPriorityNode

Может ли задача диспетчера заданий выполняться на точечных или низкоприоритетных вычислительных узлах. Значение по умолчанию — true.

applicationPackageReferences

Список пакетов приложений, которые служба пакетной службы будет развертывать на вычислительном узле перед выполнением командной строки. Пакеты приложений загружаются и развертываются в общий каталог, а не в рабочий каталог задач. Таким образом, если указанный пакет приложения уже находится на вычислительном узле и находится в актуальном состоянии, он не скачан повторно; Используется существующую копию на вычислительном узле. Если не удается установить указанный пакет приложения, например из-за того, что пакет был удален или сбой загрузки, задача завершается ошибкой.

authenticationTokenSettings

Параметры маркера проверки подлинности, который задача может использовать для выполнения операций пакетной службы. Если это свойство задано, пакетная служба предоставляет задачу с маркером проверки подлинности, который можно использовать для проверки подлинности операций пакетной службы без необходимости ключа доступа к учетной записи. Маркер предоставляется с помощью переменной среды AZ_BATCH_AUTHENTICATION_TOKEN. Операции, которые задача может выполнять с помощью маркера, зависят от параметров. Например, задача может запрашивать разрешения задания, чтобы добавить другие задачи в задание, или проверить состояние задания или других задач в задании.

commandLine

Командная строка задачи диспетчера заданий. Командная строка не выполняется под оболочкой и поэтому не может воспользоваться преимуществами функций оболочки, таких как расширение переменной среды. Если вы хотите воспользоваться такими функциями, необходимо вызвать оболочку в командной строке, например с помощью cmd /c MyCommand в Windows или "/bin/sh -c MyCommand" в Linux. Если командная строка ссылается на пути к файлам, она должна использовать относительный путь (относительно рабочего каталога задачи) или использовать указанную пакетную переменную среды (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

constraints

Ограничения, применяемые к задаче диспетчера заданий.

containerSettings

Параметры контейнера, в котором выполняется задача Диспетчера заданий. Если пул, который будет запускать эту задачу, имеет набор containerConfiguration, это также должно быть задано. Если пул, который будет запускать эту задачу, не имеет набора containerConfiguration, это не должно быть задано. При указании все каталоги рекурсивно под AZ_BATCH_NODE_ROOT_DIR (корневой каталог пакетной службы Azure на узле) сопоставляются с контейнером, все переменные среды задач сопоставляются с контейнером, а командная строка задачи выполняется в контейнере. Файлы, созданные в контейнере за пределами AZ_BATCH_NODE_ROOT_DIR, могут не отражаться на диске узла, что означает, что API пакетного файла не смогут получить доступ к этим файлам.

displayName

Отображаемое имя задачи диспетчера заданий. Он не должен быть уникальным и может содержать любые символы Юникода до максимальной длины 1024.

environmentSettings

Список параметров переменной среды для задачи Диспетчера заданий.

id

Строка, которая однозначно идентифицирует задачу диспетчера заданий в задании. Идентификатор может содержать любое сочетание буквенно-цифровых символов, включая дефисы и подчеркивания, и не может содержать более 64 символов.

killJobOnCompletion

Указывает, означает ли завершение задачи диспетчера заданий для всего задания. Если значение true, когда задача диспетчера заданий завершится, служба пакетной службы помечает задание как завершенное. Если в настоящее время все еще выполняются какие-либо задачи (кроме выпуска задания), эти задачи завершаются. Если значение false, завершение задачи диспетчера заданий не влияет на состояние задания. В этом случае следует использовать атрибут onAllTasksComplete для завершения задания или явного завершения задания или пользователя. Пример этого заключается в том, что диспетчер заданий создает набор задач, но затем не принимает никакой дополнительной роли в их выполнении. Значение по умолчанию — true. Если вы используете атрибуты onAllTasksComplete и onTaskFailure для управления временем существования задания и с помощью задачи диспетчера заданий только для создания задач для задания (не для отслеживания хода выполнения), важно задать для killJobOnCompletion значение false.

outputFiles

Список файлов, которые служба пакетной службы будет отправлять из вычислительного узла после выполнения командной строки. Для задач с несколькими экземплярами файлы будут отправляться только из вычислительного узла, на котором выполняется основная задача.

requiredSlots

Количество слотов планирования, которые требуется выполнить задаче. Значение по умолчанию — 1. Задача может выполняться только на вычислительном узле, если узел имеет достаточно свободных слотов планирования. Для задач с несколькими экземплярами это свойство не поддерживается и не должно быть указано.

resourceFiles

Список файлов, которые служба пакетной службы скачивает на вычислительный узел перед выполнением командной строки. Файлы, перечисленные в этом элементе, находятся в рабочем каталоге задачи. Существует максимальный размер списка файлов ресурсов. При превышении максимального размера запрос завершится ошибкой, и код ошибки ответа будет RequestEntityTooLarge. В этом случае коллекция ResourceFiles должна быть уменьшена. Это можно сделать с помощью .zip файлов, пакетов приложений или контейнеров Docker.

runExclusive

Требуется ли задача диспетчера заданий монопольное использование вычислительного узла, на котором она выполняется. Если значение true, другие задачи не будут выполняться на том же узле до тех пор, пока диспетчер заданий запущен. Если значение false, другие задачи могут выполняться одновременно с диспетчером заданий на вычислительном узле. Задача диспетчера заданий обычно учитывается в отношении параллельного ограничения задачи вычислительного узла, поэтому это актуально только в том случае, если вычислительный узел разрешает несколько параллельных задач. Значение по умолчанию — true.

userIdentity

Удостоверение пользователя, под которым выполняется задача Диспетчера заданий. Если опущен, задача выполняется как пользователь, отличный от администрирования, уникальным для задачи.

Сведения о свойстве

allowLowPriorityNode

Может ли задача диспетчера заданий выполняться на точечных или низкоприоритетных вычислительных узлах. Значение по умолчанию — true.

allowLowPriorityNode?: boolean

Значение свойства

boolean

applicationPackageReferences

Список пакетов приложений, которые служба пакетной службы будет развертывать на вычислительном узле перед выполнением командной строки. Пакеты приложений загружаются и развертываются в общий каталог, а не в рабочий каталог задач. Таким образом, если указанный пакет приложения уже находится на вычислительном узле и находится в актуальном состоянии, он не скачан повторно; Используется существующую копию на вычислительном узле. Если не удается установить указанный пакет приложения, например из-за того, что пакет был удален или сбой загрузки, задача завершается ошибкой.

applicationPackageReferences?: BatchApplicationPackageReferenceOutput[]

Значение свойства

authenticationTokenSettings

Параметры маркера проверки подлинности, который задача может использовать для выполнения операций пакетной службы. Если это свойство задано, пакетная служба предоставляет задачу с маркером проверки подлинности, который можно использовать для проверки подлинности операций пакетной службы без необходимости ключа доступа к учетной записи. Маркер предоставляется с помощью переменной среды AZ_BATCH_AUTHENTICATION_TOKEN. Операции, которые задача может выполнять с помощью маркера, зависят от параметров. Например, задача может запрашивать разрешения задания, чтобы добавить другие задачи в задание, или проверить состояние задания или других задач в задании.

authenticationTokenSettings?: AuthenticationTokenSettingsOutput

Значение свойства

commandLine

Командная строка задачи диспетчера заданий. Командная строка не выполняется под оболочкой и поэтому не может воспользоваться преимуществами функций оболочки, таких как расширение переменной среды. Если вы хотите воспользоваться такими функциями, необходимо вызвать оболочку в командной строке, например с помощью cmd /c MyCommand в Windows или "/bin/sh -c MyCommand" в Linux. Если командная строка ссылается на пути к файлам, она должна использовать относительный путь (относительно рабочего каталога задачи) или использовать указанную пакетную переменную среды (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).

commandLine: string

Значение свойства

string

constraints

Ограничения, применяемые к задаче диспетчера заданий.

constraints?: BatchTaskConstraintsOutput

Значение свойства

containerSettings

Параметры контейнера, в котором выполняется задача Диспетчера заданий. Если пул, который будет запускать эту задачу, имеет набор containerConfiguration, это также должно быть задано. Если пул, который будет запускать эту задачу, не имеет набора containerConfiguration, это не должно быть задано. При указании все каталоги рекурсивно под AZ_BATCH_NODE_ROOT_DIR (корневой каталог пакетной службы Azure на узле) сопоставляются с контейнером, все переменные среды задач сопоставляются с контейнером, а командная строка задачи выполняется в контейнере. Файлы, созданные в контейнере за пределами AZ_BATCH_NODE_ROOT_DIR, могут не отражаться на диске узла, что означает, что API пакетного файла не смогут получить доступ к этим файлам.

containerSettings?: BatchTaskContainerSettingsOutput

Значение свойства

displayName

Отображаемое имя задачи диспетчера заданий. Он не должен быть уникальным и может содержать любые символы Юникода до максимальной длины 1024.

displayName?: string

Значение свойства

string

environmentSettings

Список параметров переменной среды для задачи Диспетчера заданий.

environmentSettings?: EnvironmentSettingOutput[]

Значение свойства

id

Строка, которая однозначно идентифицирует задачу диспетчера заданий в задании. Идентификатор может содержать любое сочетание буквенно-цифровых символов, включая дефисы и подчеркивания, и не может содержать более 64 символов.

id: string

Значение свойства

string

killJobOnCompletion

Указывает, означает ли завершение задачи диспетчера заданий для всего задания. Если значение true, когда задача диспетчера заданий завершится, служба пакетной службы помечает задание как завершенное. Если в настоящее время все еще выполняются какие-либо задачи (кроме выпуска задания), эти задачи завершаются. Если значение false, завершение задачи диспетчера заданий не влияет на состояние задания. В этом случае следует использовать атрибут onAllTasksComplete для завершения задания или явного завершения задания или пользователя. Пример этого заключается в том, что диспетчер заданий создает набор задач, но затем не принимает никакой дополнительной роли в их выполнении. Значение по умолчанию — true. Если вы используете атрибуты onAllTasksComplete и onTaskFailure для управления временем существования задания и с помощью задачи диспетчера заданий только для создания задач для задания (не для отслеживания хода выполнения), важно задать для killJobOnCompletion значение false.

killJobOnCompletion?: boolean

Значение свойства

boolean

outputFiles

Список файлов, которые служба пакетной службы будет отправлять из вычислительного узла после выполнения командной строки. Для задач с несколькими экземплярами файлы будут отправляться только из вычислительного узла, на котором выполняется основная задача.

outputFiles?: OutputFileOutput[]

Значение свойства

requiredSlots

Количество слотов планирования, которые требуется выполнить задаче. Значение по умолчанию — 1. Задача может выполняться только на вычислительном узле, если узел имеет достаточно свободных слотов планирования. Для задач с несколькими экземплярами это свойство не поддерживается и не должно быть указано.

requiredSlots?: number

Значение свойства

number

resourceFiles

Список файлов, которые служба пакетной службы скачивает на вычислительный узел перед выполнением командной строки. Файлы, перечисленные в этом элементе, находятся в рабочем каталоге задачи. Существует максимальный размер списка файлов ресурсов. При превышении максимального размера запрос завершится ошибкой, и код ошибки ответа будет RequestEntityTooLarge. В этом случае коллекция ResourceFiles должна быть уменьшена. Это можно сделать с помощью .zip файлов, пакетов приложений или контейнеров Docker.

resourceFiles?: ResourceFileOutput[]

Значение свойства

runExclusive

Требуется ли задача диспетчера заданий монопольное использование вычислительного узла, на котором она выполняется. Если значение true, другие задачи не будут выполняться на том же узле до тех пор, пока диспетчер заданий запущен. Если значение false, другие задачи могут выполняться одновременно с диспетчером заданий на вычислительном узле. Задача диспетчера заданий обычно учитывается в отношении параллельного ограничения задачи вычислительного узла, поэтому это актуально только в том случае, если вычислительный узел разрешает несколько параллельных задач. Значение по умолчанию — true.

runExclusive?: boolean

Значение свойства

boolean

userIdentity

Удостоверение пользователя, под которым выполняется задача Диспетчера заданий. Если опущен, задача выполняется как пользователь, отличный от администрирования, уникальным для задачи.

userIdentity?: UserIdentityOutput

Значение свойства