BatchJobManagerTaskOutput interface
Указывает сведения о задаче диспетчера заданий. Задача диспетчера заданий автоматически запускается при создании задания. Пакетная служба пытается запланировать задачу диспетчера заданий перед любыми другими задачами в задании. При сокращении пула служба пакетной службы пытается сохранить узлы, где выполняются задачи диспетчера заданий в течение максимально возможного времени (т. е. вычислительные узлы, выполняющие "обычные" задачи, удаляются перед выполнением вычислительных узлов, выполняющих задачи диспетчера заданий). Если задача диспетчера заданий завершается сбоем и должна быть перезапущена, система пытается запланировать ее с наивысшим приоритетом. Если нет доступных неактивных вычислительных узлов, система может завершить одну из выполняемых задач в пуле и вернуть ее в очередь, чтобы освободить место для перезапуска задачи диспетчера заданий. Обратите внимание, что задача диспетчера заданий в одном задании не имеет приоритета над задачами в других заданиях. В заданиях наблюдаются только приоритеты на уровне заданий. Например, если диспетчер заданий в приоритете 0 должен быть перезапущен, он не переместит задачи приоритета 1 задания. Пакетная служба будет повторять задачи при активации операции восстановления на узле. Примеры операций восстановления включают (но не ограничиваются) при перезагрузке неработоспособного узла или вычислительном узле исчезли из-за сбоя узла. Повторные попытки из-за операций восстановления не учитываются и не учитываются для maxTaskRetryCount. Даже если значение maxTaskRetryCount равно 0, может произойти внутренняя повторная попытка из-за операции восстановления. Из-за этого все задачи должны быть идемпотентными. Это означает, что задачи должны терпеть прерывание и перезапуск без повреждения или дублирования данных. Рекомендуется использовать определенную форму контрольных точек для длительных задач.
Свойства
| allow |
Может ли задача диспетчера заданий выполняться на точечных или низкоприоритетных вычислительных узлах. Значение по умолчанию — true. |
| application |
Список пакетов приложений, которые служба пакетной службы будет развертывать на вычислительном узле перед выполнением командной строки. Пакеты приложений загружаются и развертываются в общий каталог, а не в рабочий каталог задач. Таким образом, если указанный пакет приложения уже находится на вычислительном узле и находится в актуальном состоянии, он не скачан повторно; Используется существующую копию на вычислительном узле. Если не удается установить указанный пакет приложения, например из-за того, что пакет был удален или сбой загрузки, задача завершается ошибкой. |
| authentication |
Параметры маркера проверки подлинности, который задача может использовать для выполнения операций пакетной службы. Если это свойство задано, пакетная служба предоставляет задачу с маркером проверки подлинности, который можно использовать для проверки подлинности операций пакетной службы без необходимости ключа доступа к учетной записи. Маркер предоставляется с помощью переменной среды AZ_BATCH_AUTHENTICATION_TOKEN. Операции, которые задача может выполнять с помощью маркера, зависят от параметров. Например, задача может запрашивать разрешения задания, чтобы добавить другие задачи в задание, или проверить состояние задания или других задач в задании. |
| command |
Командная строка задачи диспетчера заданий. Командная строка не выполняется под оболочкой и поэтому не может воспользоваться преимуществами функций оболочки, таких как расширение переменной среды. Если вы хотите воспользоваться такими функциями, необходимо вызвать оболочку в командной строке, например с помощью cmd /c MyCommand в Windows или "/bin/sh -c MyCommand" в Linux. Если командная строка ссылается на пути к файлам, она должна использовать относительный путь (относительно рабочего каталога задачи) или использовать указанную пакетную переменную среды (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). |
| constraints | Ограничения, применяемые к задаче диспетчера заданий. |
| container |
Параметры контейнера, в котором выполняется задача Диспетчера заданий. Если пул, который будет запускать эту задачу, имеет набор containerConfiguration, это также должно быть задано. Если пул, который будет запускать эту задачу, не имеет набора containerConfiguration, это не должно быть задано. При указании все каталоги рекурсивно под AZ_BATCH_NODE_ROOT_DIR (корневой каталог пакетной службы Azure на узле) сопоставляются с контейнером, все переменные среды задач сопоставляются с контейнером, а командная строка задачи выполняется в контейнере. Файлы, созданные в контейнере за пределами AZ_BATCH_NODE_ROOT_DIR, могут не отражаться на диске узла, что означает, что API пакетного файла не смогут получить доступ к этим файлам. |
| display |
Отображаемое имя задачи диспетчера заданий. Он не должен быть уникальным и может содержать любые символы Юникода до максимальной длины 1024. |
| environment |
Список параметров переменной среды для задачи Диспетчера заданий. |
| id | Строка, которая однозначно идентифицирует задачу диспетчера заданий в задании. Идентификатор может содержать любое сочетание буквенно-цифровых символов, включая дефисы и подчеркивания, и не может содержать более 64 символов. |
| kill |
Указывает, означает ли завершение задачи диспетчера заданий для всего задания. Если значение true, когда задача диспетчера заданий завершится, служба пакетной службы помечает задание как завершенное. Если в настоящее время все еще выполняются какие-либо задачи (кроме выпуска задания), эти задачи завершаются. Если значение false, завершение задачи диспетчера заданий не влияет на состояние задания. В этом случае следует использовать атрибут onAllTasksComplete для завершения задания или явного завершения задания или пользователя. Пример этого заключается в том, что диспетчер заданий создает набор задач, но затем не принимает никакой дополнительной роли в их выполнении. Значение по умолчанию — true. Если вы используете атрибуты onAllTasksComplete и onTaskFailure для управления временем существования задания и с помощью задачи диспетчера заданий только для создания задач для задания (не для отслеживания хода выполнения), важно задать для killJobOnCompletion значение false. |
| output |
Список файлов, которые служба пакетной службы будет отправлять из вычислительного узла после выполнения командной строки. Для задач с несколькими экземплярами файлы будут отправляться только из вычислительного узла, на котором выполняется основная задача. |
| required |
Количество слотов планирования, которые требуется выполнить задаче. Значение по умолчанию — 1. Задача может выполняться только на вычислительном узле, если узел имеет достаточно свободных слотов планирования. Для задач с несколькими экземплярами это свойство не поддерживается и не должно быть указано. |
| resource |
Список файлов, которые служба пакетной службы скачивает на вычислительный узел перед выполнением командной строки. Файлы, перечисленные в этом элементе, находятся в рабочем каталоге задачи. Существует максимальный размер списка файлов ресурсов. При превышении максимального размера запрос завершится ошибкой, и код ошибки ответа будет RequestEntityTooLarge. В этом случае коллекция ResourceFiles должна быть уменьшена. Это можно сделать с помощью .zip файлов, пакетов приложений или контейнеров Docker. |
| run |
Требуется ли задача диспетчера заданий монопольное использование вычислительного узла, на котором она выполняется. Если значение true, другие задачи не будут выполняться на том же узле до тех пор, пока диспетчер заданий запущен. Если значение false, другие задачи могут выполняться одновременно с диспетчером заданий на вычислительном узле. Задача диспетчера заданий обычно учитывается в отношении параллельного ограничения задачи вычислительного узла, поэтому это актуально только в том случае, если вычислительный узел разрешает несколько параллельных задач. Значение по умолчанию — true. |
| user |
Удостоверение пользователя, под которым выполняется задача Диспетчера заданий. Если опущен, задача выполняется как пользователь, отличный от администрирования, уникальным для задачи. |
Сведения о свойстве
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