Compartir a través de


StartTask interface

En algunos casos, la tarea de inicio puede volver a ejecutarse aunque el nodo no se haya reiniciado. Debido a esto, las tareas de inicio deben ser idempotentes y salir correctamente si la configuración que están realizando ya se ha realizado. Se debe tener especial cuidado para evitar que las tareas de inicio creen un proceso de interrupción o instalen o inicien servicios desde el directorio de trabajo de la tarea de inicio, ya que esto impedirá que Batch pueda volver a ejecutar la tarea de inicio.

Propiedades

commandLine

La línea de comandos no se ejecuta en un shell y, por tanto, no puede aprovechar las características del shell, como la expansión de variables de entorno. Si desea aprovechar estas características, debe invocar el shell en la línea de comandos, por ejemplo, con "cmd /c MyCommand" en Windows o "/bin/sh -c MyCommand" en Linux. Obligatorio si se especifican otras propiedades de startTask.

containerSettings

Cuando se especifica esto, todos los directorios de forma recursiva debajo del AZ_BATCH_NODE_ROOT_DIR (la raíz de Azure Batch directorios del nodo) se asignan al contenedor, todas las variables de entorno de tareas se asignan al contenedor y la línea de comandos de la tarea se ejecuta en el contenedor.

environmentSettings

Lista de opciones de configuración de variables de entorno para la tarea de inicio.

maxTaskRetryCount

El servicio de Batch reintenta una tarea su el código de salida es distinto de cero. Tenga en cuenta que este valor controla específicamente el número de reintentos. El servicio de Batch intentará una vez la tarea y podría reintentarla hasta alcanzar este límite. Por ejemplo, si el número máximo de reintentos es 3, Batch intenta la tarea hasta 4 veces (un intento inicial y 3 reintentos). Si el número máximo de reintentos es 0, el servicio Batch no reintenta la tarea. Si el número máximo de reintentos es -1, el servicio Batch reintenta la tarea sin límite. El valor predeterminado es 0.

resourceFiles

Lista de archivos que el servicio Batch descargará en el nodo de proceso antes de ejecutar la línea de comandos.

userIdentity

Si se omite, la tarea se ejecuta como un usuario no administrativo único para la tarea.

waitForSuccess

Si se produce un error en la tarea de inicio y true en un nodo de proceso, el servicio Batch reintenta la tarea de inicio hasta su número máximo de reintentos (maxTaskRetryCount). Si la tarea todavía no se ha completado correctamente después de todos los reintentos, el servicio Batch marca el nodo de proceso inutilizable y no programará tareas en él. Esta condición se puede detectar a través del estado del nodo y los detalles del error de programación. Si es false, el servicio Batch no esperará a que se complete la tarea de inicio. En este caso, otras tareas pueden empezar a ejecutarse en el nodo de proceso mientras la tarea de inicio todavía se está ejecutando; e incluso si se produce un error en la tarea de inicio, las nuevas tareas seguirán programando en el nodo. El valor predeterminado es true.

Detalles de las propiedades

commandLine

La línea de comandos no se ejecuta en un shell y, por tanto, no puede aprovechar las características del shell, como la expansión de variables de entorno. Si desea aprovechar estas características, debe invocar el shell en la línea de comandos, por ejemplo, con "cmd /c MyCommand" en Windows o "/bin/sh -c MyCommand" en Linux. Obligatorio si se especifican otras propiedades de startTask.

commandLine?: string

Valor de propiedad

string

containerSettings

Cuando se especifica esto, todos los directorios de forma recursiva debajo del AZ_BATCH_NODE_ROOT_DIR (la raíz de Azure Batch directorios del nodo) se asignan al contenedor, todas las variables de entorno de tareas se asignan al contenedor y la línea de comandos de la tarea se ejecuta en el contenedor.

containerSettings?: TaskContainerSettings

Valor de propiedad

environmentSettings

Lista de opciones de configuración de variables de entorno para la tarea de inicio.

environmentSettings?: EnvironmentSetting[]

Valor de propiedad

maxTaskRetryCount

El servicio de Batch reintenta una tarea su el código de salida es distinto de cero. Tenga en cuenta que este valor controla específicamente el número de reintentos. El servicio de Batch intentará una vez la tarea y podría reintentarla hasta alcanzar este límite. Por ejemplo, si el número máximo de reintentos es 3, Batch intenta la tarea hasta 4 veces (un intento inicial y 3 reintentos). Si el número máximo de reintentos es 0, el servicio Batch no reintenta la tarea. Si el número máximo de reintentos es -1, el servicio Batch reintenta la tarea sin límite. El valor predeterminado es 0.

maxTaskRetryCount?: number

Valor de propiedad

number

resourceFiles

Lista de archivos que el servicio Batch descargará en el nodo de proceso antes de ejecutar la línea de comandos.

resourceFiles?: ResourceFile[]

Valor de propiedad

userIdentity

Si se omite, la tarea se ejecuta como un usuario no administrativo único para la tarea.

userIdentity?: UserIdentity

Valor de propiedad

waitForSuccess

Si se produce un error en la tarea de inicio y true en un nodo de proceso, el servicio Batch reintenta la tarea de inicio hasta su número máximo de reintentos (maxTaskRetryCount). Si la tarea todavía no se ha completado correctamente después de todos los reintentos, el servicio Batch marca el nodo de proceso inutilizable y no programará tareas en él. Esta condición se puede detectar a través del estado del nodo y los detalles del error de programación. Si es false, el servicio Batch no esperará a que se complete la tarea de inicio. En este caso, otras tareas pueden empezar a ejecutarse en el nodo de proceso mientras la tarea de inicio todavía se está ejecutando; e incluso si se produce un error en la tarea de inicio, las nuevas tareas seguirán programando en el nodo. El valor predeterminado es true.

waitForSuccess?: boolean

Valor de propiedad

boolean