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 las tareas de inicio que crean un proceso de interrupción o servicios de instalación o inicio 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
| command |
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. |
| container |
Cuando se especifica esto, todos los directorios se asignan de forma recursiva debajo del AZ_BATCH_NODE_ROOT_DIR (la raíz de los directorios de Azure Batch en el 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. |
| environment |
Lista de opciones de configuración de variables de entorno para la tarea de inicio. |
| max |
El servicio Batch reintenta una tarea si su código de salida es distinto de cero. Tenga en cuenta que este valor controla específicamente el número de reintentos. El servicio Batch probará la tarea una vez y, a continuación, volverá a intentarlo hasta 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 vuelve a intentar 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 |
| resource |
Lista de archivos que el servicio Batch descargará en el nodo de proceso antes de ejecutar la línea de comandos. |
| user |
Si se omite, la tarea se ejecuta como un usuario no administrativo único para la tarea. |
| wait |
Si es true y la tarea de inicio produce un error en un nodo de proceso, el servicio Batch reintenta la tarea de inicio hasta su recuento 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 mediante el 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 se asignan de forma recursiva debajo del AZ_BATCH_NODE_ROOT_DIR (la raíz de los directorios de Azure Batch en el 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 Batch reintenta una tarea si su código de salida es distinto de cero. Tenga en cuenta que este valor controla específicamente el número de reintentos. El servicio Batch probará la tarea una vez y, a continuación, volverá a intentarlo hasta 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 vuelve a intentar 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 es true y la tarea de inicio produce un error en un nodo de proceso, el servicio Batch reintenta la tarea de inicio hasta su recuento 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 mediante el 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