BatchJobManagerTask interface

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

Свойства

allowLowPriorityNode

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

applicationPackageReferences

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

commandLine

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

constraints

Ограничения, применимые к задаче менеджера по работе.

containerSettings

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

displayName

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

environmentSettings

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

id

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

killJobOnCompletion

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

outputFiles

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

requiredSlots

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

resourceFiles

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

runExclusive

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

userIdentity

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

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

allowLowPriorityNode

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

allowLowPriorityNode?: boolean

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

boolean

applicationPackageReferences

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

applicationPackageReferences?: BatchApplicationPackageReference[]

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

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?: BatchTaskConstraints

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

containerSettings

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

containerSettings?: BatchTaskContainerSettings

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

displayName

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

displayName?: string

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

string

environmentSettings

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

environmentSettings?: EnvironmentSetting[]

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

id

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

id: string

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

string

killJobOnCompletion

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

killJobOnCompletion?: boolean

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

boolean

outputFiles

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

outputFiles?: OutputFile[]

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

requiredSlots

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

requiredSlots?: number

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

number

resourceFiles

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

resourceFiles?: ResourceFile[]

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

runExclusive

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

runExclusive?: boolean

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

boolean

userIdentity

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

userIdentity?: UserIdentity

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