BatchStartTaskOutput interface
Пакетная служба будет повторять задачи при активации операции восстановления на узле. Примеры операций восстановления включают (но не ограничиваются) при перезагрузке неработоспособного узла или вычислительном узле исчезли из-за сбоя узла. Повторные попытки из-за операций восстановления не учитываются и не учитываются для maxTaskRetryCount. Даже если значение maxTaskRetryCount равно 0, может произойти внутренняя повторная попытка из-за операции восстановления. Из-за этого все задачи должны быть идемпотентными. Это означает, что задачи должны терпеть прерывание и перезапуск без повреждения или дублирования данных. Рекомендуется использовать определенную форму контрольных точек для длительных задач. В некоторых случаях запуск StartTask может выполняться повторно, даже если вычислительный узел не был перезагружен. Следует учесть, чтобы избежать запуска StartTasks, создающих отсортовый процесс или установку или запуск служб из рабочего каталога StartTask, так как это приведет к тому, что пакетная служба сможет повторно запустить StartTask.
Свойства
| command |
Командная строка StartTask. Командная строка не выполняется под оболочкой и поэтому не может воспользоваться преимуществами функций оболочки, таких как расширение переменной среды. Если вы хотите воспользоваться такими функциями, необходимо вызвать оболочку в командной строке, например с помощью cmd /c MyCommand в Windows или "/bin/sh -c MyCommand" в Linux. Если командная строка ссылается на пути к файлам, она должна использовать относительный путь (относительно рабочего каталога задачи) или использовать указанную пакетную переменную среды (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). |
| container |
Параметры контейнера, в котором выполняется StartTask. При указании все каталоги рекурсивно под AZ_BATCH_NODE_ROOT_DIR (корневой каталог пакетной службы Azure на узле) сопоставляются с контейнером, все переменные среды задач сопоставляются с контейнером, а командная строка задачи выполняется в контейнере. Файлы, созданные в контейнере за пределами AZ_BATCH_NODE_ROOT_DIR, могут не отражаться на диске узла, что означает, что API пакетного файла не смогут получить доступ к этим файлам. |
| environment |
Список параметров переменной среды для StartTask. |
| max |
Максимальное количество повторных попыток задачи. Пакетная служба повторяет задачу, если его код выхода не является ненулевой. Обратите внимание, что это значение специально управляет числом повторных попыток. Пакетная служба попытается выполнить задачу один раз, а затем повторите попытку до этого ограничения. Например, если максимальное число повторных попыток равно 3, пакет пытается выполнить задачу до 4 раз (одна начальная попытка и 3 повторные попытки). Если максимальное число повторных попыток равно 0, пакетная служба не повторяет задачу. Если максимальное число повторных попыток равно -1, пакетная служба повторяет задачу без ограничения, однако это не рекомендуется для начальной задачи или любой задачи. Значение по умолчанию равно 0 (без повторных попыток). |
| resource |
Список файлов, которые служба пакетной службы скачивает на вычислительный узел перед выполнением командной строки. Существует максимальный размер списка файлов ресурсов. При превышении максимального размера запрос завершится ошибкой, и код ошибки ответа будет RequestEntityTooLarge. В этом случае коллекция ResourceFiles должна быть уменьшена. Это можно сделать с помощью .zip файлов, пакетов приложений или контейнеров Docker. Файлы, перечисленные в этом элементе, находятся в рабочем каталоге задачи. |
| user |
Удостоверение пользователя, под которым запускается StartTask. Если опущен, задача выполняется как пользователь, отличный от администрирования, уникальным для задачи. |
| wait |
Следует ли пакетной службе ждать успешного завершения 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