BatchTask interface
Пакетная служба будет повторять задачи при активации операции восстановления на узле. Примеры операций восстановления включают (но не ограничиваются) при перезагрузке неработоспособного узла или вычислительном узле исчезли из-за сбоя узла. Повторные попытки из-за операций восстановления не учитываются и не учитываются для maxTaskRetryCount. Даже если значение maxTaskRetryCount равно 0, может произойти внутренняя повторная попытка из-за операции восстановления. Из-за этого все задачи должны быть идемпотентными. Это означает, что задачи должны терпеть прерывание и перезапуск без повреждения или дублирования данных. Рекомендуется использовать определенную форму контрольных точек для длительных задач.
Свойства
| affinity |
Подсказка по локальности, которую может использовать пакетный сервис для выбора вычислительного узла для запуска новой задачи. |
| application |
Список пакетов, которые пакетный сервис развернут на вычислительном узле перед запуском командной строки. Пакеты приложений загружаются и разворачиваются в общую директорию, а не в рабочем каталоге задач. Следовательно, если ссылка на пакет уже находится на узле и актуальна, то она не скачивается повторно; используется существующая копия на Compute Node. Если указанный пакет не может быть установлен, например, если пакет был удалён или загрузка не удалась, задача не выполняется. |
| command |
Командная строка задачи. Для многоэкземплярных задач командная строка выполняется как основная задача, после того как основная задача и все подзадачи завершили выполнение командной строки координации. Командная строка не выполняется под оболочкой и поэтому не может воспользоваться преимуществами функций оболочки, таких как расширение переменной среды. Если вы хотите воспользоваться такими возможностями, стоит вызвать оболочку в командной строке, например, используя "cmd /c MyCommand" в Windows или "/bin/sh -c MyCommand" в Linux. Если командная строка ссылается на пути к файлам, она должна использовать относительный путь (относительно рабочего каталога задачи) или использовать указанную пакетную переменную среды (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). |
| constraints | Ограничения на выполнение, применимые к этой задаче. |
| container |
Настройки контейнера, под которым выполняется задача. Если пул, который будет выполнять эту задачу, имеет установленную конфигурацию контейнера, то и она должна быть установлена. Если пул, выполняющий эту задачу, не имеет установленного containerConfiguration, это не должно быть установлено. Когда это указано, все каталоги рекурсивно ниже AZ_BATCH_NODE_ROOT_DIR (корня пакетная служба Azure каталогов на узле) отображаются в контейнер, все переменные среды задачи отображаются в контейнер, и в контейнере выполняется командная строка задачи. Файлы, созданные в контейнере вне AZ_BATCH_NODE_ROOT_DIR, могут не отражаться на хост-диске, что означает, что API пакетных файлов не смогут получить доступ к этим файлам. |
| creation |
Время создания Задачи. |
| depends |
Задачи, от которых зависит эта задача. Эта задача будет запланирована только после успешного выполнения всех зависимых от них задач. Если какое-либо из этих заданий не выполнит счёт повторных попыток, оно никогда не будет запланировано. |
| display |
Имя для Задачи. Отображаемое имя не должно быть уникальным и может содержать любые символы Юникода до максимальной длины 1024. |
| environment |
Список настроек переменных среды для задачи. |
| e |
ETag задачи. Это непрозрачная строка. Вы можете использовать его, чтобы определить, изменилась ли задача между запросами. В частности, вы можете передать ETag при обновлении задачи, чтобы указать, что ваши изменения должны вступать в силу только если никто другой не изменил задачу в это время. |
| execution |
Информация о выполнении задачи. |
| exit |
Как должна реагировать пакетная служба после завершения задачи. |
| id | Строка, которая уникально идентифицирует задачу внутри задания. Идентификатор может содержать любое сочетание буквенно-цифровых символов, включая дефисы и символы подчеркивания, и не может содержать более 64 символов. |
| last |
Последнее изменённое время Задачи. |
| multi |
Объект, который указывает, что задача является многоэкземплярной задачей, и содержит информацию о том, как выполнить многоэкземплярную задачу. |
| node |
Информация о вычислительном узле, на котором выполнялась задача. |
| output |
Список файлов, которые пакетная служба загрузит с вычислительного узла после запуска командной строки. Для многоэкземплярных задач файлы загружаются только с вычислительного узла, на котором выполняется основная задача. |
| previous |
Предыдущее состояние Задачи. Это свойство не задаётся, если задача находится в начальном активном состоянии. |
| previous |
Время, когда Задание вошло в своё прежнее состояние. Это свойство не задаётся, если задача находится в начальном активном состоянии. |
| required |
Количество слотов для планирования, которые требуется для выполнения задачи. Значение по умолчанию — 1. Задача может быть запланирована для выполнения на вычислительном узле только если у узла достаточно свободных слотов для планирования. Для задач с несколькими экземплярами это должно быть 1. |
| resource |
Список файлов, которые служба пакетной службы скачивает на вычислительный узел перед выполнением командной строки. Для многоэкземплярных задач файлы ресурсов загружаются только в вычислительный узел, на котором выполняется основная задача. Существует максимальный размер списка файлов ресурсов. При превышении максимального размера запрос завершится ошибкой, и код ошибки ответа будет RequestEntityTooLarge. В этом случае коллекция ResourceFiles должна быть уменьшена. Это можно сделать с помощью .zip файлов, пакетов приложений или контейнеров Docker. |
| state | Текущее состояние задачи. |
| state |
Время, когда Задача вошла в своё нынешнее состояние. |
| task |
Статистика использования ресурсов для задачи. |
| url | URL задачи. |
| user |
Идентификатор пользователя, под которым выполняется задача. Если задача опущена, она выполняется как неадминистративный пользователь, уникальный для задачи. |
Сведения о свойстве
affinityInfo
Подсказка по локальности, которую может использовать пакетный сервис для выбора вычислительного узла для запуска новой задачи.
affinityInfo?: BatchAffinityInfo
Значение свойства
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
Значение свойства
creationTime
Время создания Задачи.
creationTime: Date
Значение свойства
Date
dependsOn
Задачи, от которых зависит эта задача. Эта задача будет запланирована только после успешного выполнения всех зависимых от них задач. Если какое-либо из этих заданий не выполнит счёт повторных попыток, оно никогда не будет запланировано.
dependsOn?: BatchTaskDependencies
Значение свойства
displayName
Имя для Задачи. Отображаемое имя не должно быть уникальным и может содержать любые символы Юникода до максимальной длины 1024.
displayName?: string
Значение свойства
string
environmentSettings
Список настроек переменных среды для задачи.
environmentSettings?: EnvironmentSetting[]
Значение свойства
eTag
ETag задачи. Это непрозрачная строка. Вы можете использовать его, чтобы определить, изменилась ли задача между запросами. В частности, вы можете передать ETag при обновлении задачи, чтобы указать, что ваши изменения должны вступать в силу только если никто другой не изменил задачу в это время.
eTag: string
Значение свойства
string
executionInfo
Информация о выполнении задачи.
executionInfo?: BatchTaskExecutionInfo
Значение свойства
exitConditions
Как должна реагировать пакетная служба после завершения задачи.
exitConditions?: ExitConditions
Значение свойства
id
Строка, которая уникально идентифицирует задачу внутри задания. Идентификатор может содержать любое сочетание буквенно-цифровых символов, включая дефисы и символы подчеркивания, и не может содержать более 64 символов.
id: string
Значение свойства
string
lastModified
Последнее изменённое время Задачи.
lastModified: Date
Значение свойства
Date
multiInstanceSettings
Объект, который указывает, что задача является многоэкземплярной задачей, и содержит информацию о том, как выполнить многоэкземплярную задачу.
multiInstanceSettings?: MultiInstanceSettings
Значение свойства
nodeInfo
Информация о вычислительном узле, на котором выполнялась задача.
nodeInfo?: BatchNodeInfo
Значение свойства
outputFiles
Список файлов, которые пакетная служба загрузит с вычислительного узла после запуска командной строки. Для многоэкземплярных задач файлы загружаются только с вычислительного узла, на котором выполняется основная задача.
outputFiles?: OutputFile[]
Значение свойства
previousState
Предыдущее состояние Задачи. Это свойство не задаётся, если задача находится в начальном активном состоянии.
previousState?: BatchTaskState
Значение свойства
previousStateTransitionTime
Время, когда Задание вошло в своё прежнее состояние. Это свойство не задаётся, если задача находится в начальном активном состоянии.
previousStateTransitionTime?: Date
Значение свойства
Date
requiredSlots
Количество слотов для планирования, которые требуется для выполнения задачи. Значение по умолчанию — 1. Задача может быть запланирована для выполнения на вычислительном узле только если у узла достаточно свободных слотов для планирования. Для задач с несколькими экземплярами это должно быть 1.
requiredSlots?: number
Значение свойства
number
resourceFiles
Список файлов, которые служба пакетной службы скачивает на вычислительный узел перед выполнением командной строки. Для многоэкземплярных задач файлы ресурсов загружаются только в вычислительный узел, на котором выполняется основная задача. Существует максимальный размер списка файлов ресурсов. При превышении максимального размера запрос завершится ошибкой, и код ошибки ответа будет RequestEntityTooLarge. В этом случае коллекция ResourceFiles должна быть уменьшена. Это можно сделать с помощью .zip файлов, пакетов приложений или контейнеров Docker.
resourceFiles?: ResourceFile[]
Значение свойства
state
stateTransitionTime
Время, когда Задача вошла в своё нынешнее состояние.
stateTransitionTime: Date
Значение свойства
Date
taskStatistics
Статистика использования ресурсов для задачи.
taskStatistics?: BatchTaskStatistics
Значение свойства
url
URL задачи.
url: string
Значение свойства
string
userIdentity
Идентификатор пользователя, под которым выполняется задача. Если задача опущена, она выполняется как неадминистративный пользователь, уникальный для задачи.
userIdentity?: UserIdentity