Поделиться через


BatchStartTaskOutput interface

Пакетная служба будет повторять задачи при активации операции восстановления на узле. Примеры операций восстановления включают (но не ограничиваются) при перезагрузке неработоспособного узла или вычислительном узле исчезли из-за сбоя узла. Повторные попытки из-за операций восстановления не учитываются и не учитываются для maxTaskRetryCount. Даже если значение maxTaskRetryCount равно 0, может произойти внутренняя повторная попытка из-за операции восстановления. Из-за этого все задачи должны быть идемпотентными. Это означает, что задачи должны терпеть прерывание и перезапуск без повреждения или дублирования данных. Рекомендуется использовать определенную форму контрольных точек для длительных задач. В некоторых случаях запуск StartTask может выполняться повторно, даже если вычислительный узел не был перезагружен. Следует учесть, чтобы избежать запуска StartTasks, создающих отсортовый процесс или установку или запуск служб из рабочего каталога StartTask, так как это приведет к тому, что пакетная служба сможет повторно запустить StartTask.

Свойства

commandLine

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

containerSettings

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

environmentSettings

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

maxTaskRetryCount

Максимальное количество повторных попыток задачи. Пакетная служба повторяет задачу, если его код выхода не является ненулевой. Обратите внимание, что это значение специально управляет числом повторных попыток. Пакетная служба попытается выполнить задачу один раз, а затем повторите попытку до этого ограничения. Например, если максимальное число повторных попыток равно 3, пакет пытается выполнить задачу до 4 раз (одна начальная попытка и 3 повторные попытки). Если максимальное число повторных попыток равно 0, пакетная служба не повторяет задачу. Если максимальное число повторных попыток равно -1, пакетная служба повторяет задачу без ограничения, однако это не рекомендуется для начальной задачи или любой задачи. Значение по умолчанию равно 0 (без повторных попыток).

resourceFiles

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

userIdentity

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

waitForSuccess

Следует ли пакетной службе ждать успешного завершения startTask (т. е. выйти с кодом выхода 0) перед планированием любых задач на вычислительном узле. Если значение true и startTask завершается сбоем на узле, пакетная служба повторяет запускTask до максимального количества повторных попыток (maxTaskRetryCount). Если задача по-прежнему не выполнена успешно после всех повторных попыток, служба пакетной службы помечает узел неиспользуемой и не будет планировать задачи. Это условие можно обнаружить с помощью сведений о состоянии вычислительного узла и сведения о сбоях. Если значение false, служба пакетной службы не будет ожидать завершения запускаTask. В этом случае другие задачи могут запускаться на вычислительном узле во время запуска StartTask; и даже если сбой StartTask, новые задачи будут продолжать планироваться на вычислительном узле. Значение по умолчанию — true.

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

commandLine

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

commandLine: string

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

string

containerSettings

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

containerSettings?: BatchTaskContainerSettingsOutput

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

environmentSettings

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

environmentSettings?: EnvironmentSettingOutput[]

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

maxTaskRetryCount

Максимальное количество повторных попыток задачи. Пакетная служба повторяет задачу, если его код выхода не является ненулевой. Обратите внимание, что это значение специально управляет числом повторных попыток. Пакетная служба попытается выполнить задачу один раз, а затем повторите попытку до этого ограничения. Например, если максимальное число повторных попыток равно 3, пакет пытается выполнить задачу до 4 раз (одна начальная попытка и 3 повторные попытки). Если максимальное число повторных попыток равно 0, пакетная служба не повторяет задачу. Если максимальное число повторных попыток равно -1, пакетная служба повторяет задачу без ограничения, однако это не рекомендуется для начальной задачи или любой задачи. Значение по умолчанию равно 0 (без повторных попыток).

maxTaskRetryCount?: number

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

number

resourceFiles

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

resourceFiles?: ResourceFileOutput[]

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

userIdentity

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

userIdentity?: UserIdentityOutput

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

waitForSuccess

Следует ли пакетной службе ждать успешного завершения startTask (т. е. выйти с кодом выхода 0) перед планированием любых задач на вычислительном узле. Если значение true и startTask завершается сбоем на узле, пакетная служба повторяет запускTask до максимального количества повторных попыток (maxTaskRetryCount). Если задача по-прежнему не выполнена успешно после всех повторных попыток, служба пакетной службы помечает узел неиспользуемой и не будет планировать задачи. Это условие можно обнаружить с помощью сведений о состоянии вычислительного узла и сведения о сбоях. Если значение false, служба пакетной службы не будет ожидать завершения запускаTask. В этом случае другие задачи могут запускаться на вычислительном узле во время запуска StartTask; и даже если сбой StartTask, новые задачи будут продолжать планироваться на вычислительном узле. Значение по умолчанию — true.

waitForSuccess?: boolean

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

boolean