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
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 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. |
environment |
Lista de opciones de configuración de variables de entorno para la tarea de inicio. |
max |
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. |
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 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