BatchTask interface
Batch volverá a intentar tareas cuando se desencadene una operación de recuperación en un nodo. Algunos ejemplos de operaciones de recuperación son (pero no están limitados a) cuando se reinicia un nodo incorrecto o un nodo de proceso desaparece debido a un error de host. Los reintentos debido a las operaciones de recuperación son independientes de y no se cuentan con maxTaskRetryCount. Incluso si maxTaskRetryCount es 0, puede producirse un reintento interno debido a una operación de recuperación. Por este motivo, todas las tareas deben ser idempotentes. Esto significa que las tareas deben tolerar que se interrumpan y se reinicien sin causar daños ni datos duplicados. El procedimiento recomendado para tareas de larga duración es usar algún tipo de punto de control.
Propiedades
| affinity |
Una pista de localidad que puede ser utilizada por el servicio por lotes para seleccionar un Nodo de Cómputo desde el que iniciar la nueva Tarea. |
| application |
Una lista de paquetes que el servicio Batch desplegará en el Nodo de Cómputo antes de ejecutar la línea de comandos. Los paquetes de aplicación se descargan y despliegan en un directorio compartido, no en el directorio de trabajo de Tareas. Por lo tanto, si un paquete referenciado ya está en el Nodo y está actualizado, no se vuelve a descargar; se utiliza la copia existente en el Nodo de Cómputo. Si no se puede instalar un paquete referenciado, por ejemplo porque se ha eliminado o porque la descarga falló, la tarea falla. |
| command |
La línea de comandos de la Tarea. Para las tareas multiinstancia, la línea de comandos se ejecuta como la tarea principal, después de que la tarea principal y todas las subtareas hayan terminado de ejecutar la línea de coordenación. 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 quieres aprovechar estas funciones, deberías invocar el shell en la línea de comandos, por ejemplo usando "cmd /c MyCommand" en Windows o "/bin/sh -c MyCommand" en Linux. Si la línea de comandos hace referencia a rutas de acceso de archivo, debe usar una ruta de acceso relativa (relativa al directorio de trabajo de la tarea) o usar la variable de entorno proporcionada por Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). |
| constraints | Las restricciones de ejecución que se aplican a esta tarea. |
| container |
Los ajustes del contenedor bajo el cual se ejecuta la tarea. Si el Pool que ejecutará esta Tarea tiene configurado containerConfiguration, esto también debe configurarse. Si el Pool que ejecutará esta tarea no tiene containerConfiguration activado, esto no debe configurarse. Cuando esto se especifica, todos los directorios recursivamente por debajo del AZ_BATCH_NODE_ROOT_DIR (la raíz de Azure Batch directorios en el nodo) se mapean en el contenedor, todas las variables del entorno de Tarea se mapean en el contenedor y la línea de comandos de Tarea se ejecuta en el contenedor. Los archivos producidos en el contenedor fuera de AZ_BATCH_NODE_ROOT_DIR pueden no reflejarse en el disco anfitrión, lo que significa que las APIs de archivos por lotes no podrán acceder a esos archivos. |
| creation |
El momento de creación de la Tarea. |
| depends |
Las tareas de las que depende esta tarea. Esta tarea no se programará hasta que todas las tareas de las que depende se hayan completado con éxito. Si alguna de esas tareas falla y agota su número de intentos, esta tarea nunca se programará. |
| display |
Un nombre de visualización para la Tarea. El nombre para mostrar no debe ser único y puede contener caracteres Unicode de hasta una longitud máxima de 1024. |
| environment |
Una lista de ajustes de variables de entorno para la Tarea. |
| e |
El ETag de la tarea. Se trata de una cadena opaca. Puedes usarlo para detectar si la tarea ha cambiado entre solicitudes. En particular, puedes pasar el ETag al actualizar una tarea para especificar que tus cambios solo deben tener efecto si nadie más ha modificado la tarea mientras tanto. |
| execution |
Información sobre la ejecución de la Tarea. |
| exit |
Cómo debe responder el servicio por lotes cuando la tarea se complete. |
| id | Una cadena que identifica de forma única la Tarea dentro del Trabajo. El identificador puede contener cualquier combinación de caracteres alfanuméricos, incluidos guiones y caracteres de subrayado, y no puede contener más de 64 caracteres. |
| last |
El último tiempo modificado de la Prueba. |
| multi |
Un objeto que indica que la tarea es una tarea multiinstancia y contiene información sobre cómo ejecutarla. |
| node |
Información sobre el Nodo de Cómputo en el que se ejecutaba la Tarea. |
| output |
Una lista de archivos que el servicio Batch cargará desde el Nodo de Cómputo tras ejecutar la línea de comandos. Para tareas multiinstancia, los archivos solo se cargarán desde el nodo de cómputo en el que se ejecuta la tarea principal. |
| previous |
El estado anterior de la Prueba. Esta propiedad no se activa si la tarea está en su estado activo inicial. |
| previous |
El momento en que la Tarea entró en su estado anterior. Esta propiedad no se activa si la tarea está en su estado activo inicial. |
| required |
El número de espacios de planificación que la Tarea requiere para ejecutarse. El valor predeterminado es 1. Una tarea solo puede programarse para ejecutarse en un nodo de cómputo si este tiene suficientes espacios libres de planificación disponibles. Para tareas multiinstancia, esto debe ser 1. |
| resource |
Lista de archivos que el servicio Batch descargará en el nodo de proceso antes de ejecutar la línea de comandos. Para tareas multiinstancia, los archivos de recursos solo se descargan al nodo de cómputo en el que se ejecuta la tarea principal. Hay un tamaño máximo para la lista de archivos de recursos. Cuando se supera el tamaño máximo, se producirá un error en la solicitud y el código de error de respuesta será RequestEntityTooLarge. Si esto ocurre, la colección de ResourceFiles debe reducirse en tamaño. Esto se puede lograr mediante archivos de .zip, paquetes de aplicación o contenedores de Docker. |
| state | El estado actual de la tarea. |
| state |
El momento en que la Tarea entró en su estado actual. |
| task |
Estadísticas de uso de recursos para la tarea. |
| url | La URL de la tarea. |
| user |
La identidad de usuario bajo la cual se ejecuta la tarea. Si se omite, la tarea se ejecuta como un usuario no administrativo único de la tarea. |
Detalles de las propiedades
affinityInfo
Una pista de localidad que puede ser utilizada por el servicio por lotes para seleccionar un Nodo de Cómputo desde el que iniciar la nueva Tarea.
affinityInfo?: BatchAffinityInfo
Valor de propiedad
applicationPackageReferences
Una lista de paquetes que el servicio Batch desplegará en el Nodo de Cómputo antes de ejecutar la línea de comandos. Los paquetes de aplicación se descargan y despliegan en un directorio compartido, no en el directorio de trabajo de Tareas. Por lo tanto, si un paquete referenciado ya está en el Nodo y está actualizado, no se vuelve a descargar; se utiliza la copia existente en el Nodo de Cómputo. Si no se puede instalar un paquete referenciado, por ejemplo porque se ha eliminado o porque la descarga falló, la tarea falla.
applicationPackageReferences?: BatchApplicationPackageReference[]
Valor de propiedad
commandLine
La línea de comandos de la Tarea. Para las tareas multiinstancia, la línea de comandos se ejecuta como la tarea principal, después de que la tarea principal y todas las subtareas hayan terminado de ejecutar la línea de coordenación. 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 quieres aprovechar estas funciones, deberías invocar el shell en la línea de comandos, por ejemplo usando "cmd /c MyCommand" en Windows o "/bin/sh -c MyCommand" en Linux. Si la línea de comandos hace referencia a rutas de acceso de archivo, debe usar una ruta de acceso relativa (relativa al directorio de trabajo de la tarea) o usar la variable de entorno proporcionada por Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).
commandLine: string
Valor de propiedad
string
constraints
Las restricciones de ejecución que se aplican a esta tarea.
constraints?: BatchTaskConstraints
Valor de propiedad
containerSettings
Los ajustes del contenedor bajo el cual se ejecuta la tarea. Si el Pool que ejecutará esta Tarea tiene configurado containerConfiguration, esto también debe configurarse. Si el Pool que ejecutará esta tarea no tiene containerConfiguration activado, esto no debe configurarse. Cuando esto se especifica, todos los directorios recursivamente por debajo del AZ_BATCH_NODE_ROOT_DIR (la raíz de Azure Batch directorios en el nodo) se mapean en el contenedor, todas las variables del entorno de Tarea se mapean en el contenedor y la línea de comandos de Tarea se ejecuta en el contenedor. Los archivos producidos en el contenedor fuera de AZ_BATCH_NODE_ROOT_DIR pueden no reflejarse en el disco anfitrión, lo que significa que las APIs de archivos por lotes no podrán acceder a esos archivos.
containerSettings?: BatchTaskContainerSettings
Valor de propiedad
creationTime
El momento de creación de la Tarea.
creationTime: Date
Valor de propiedad
Date
dependsOn
Las tareas de las que depende esta tarea. Esta tarea no se programará hasta que todas las tareas de las que depende se hayan completado con éxito. Si alguna de esas tareas falla y agota su número de intentos, esta tarea nunca se programará.
dependsOn?: BatchTaskDependencies
Valor de propiedad
displayName
Un nombre de visualización para la Tarea. El nombre para mostrar no debe ser único y puede contener caracteres Unicode de hasta una longitud máxima de 1024.
displayName?: string
Valor de propiedad
string
environmentSettings
Una lista de ajustes de variables de entorno para la Tarea.
environmentSettings?: EnvironmentSetting[]
Valor de propiedad
eTag
El ETag de la tarea. Se trata de una cadena opaca. Puedes usarlo para detectar si la tarea ha cambiado entre solicitudes. En particular, puedes pasar el ETag al actualizar una tarea para especificar que tus cambios solo deben tener efecto si nadie más ha modificado la tarea mientras tanto.
eTag: string
Valor de propiedad
string
executionInfo
Información sobre la ejecución de la Tarea.
executionInfo?: BatchTaskExecutionInfo
Valor de propiedad
exitConditions
Cómo debe responder el servicio por lotes cuando la tarea se complete.
exitConditions?: ExitConditions
Valor de propiedad
id
Una cadena que identifica de forma única la Tarea dentro del Trabajo. El identificador puede contener cualquier combinación de caracteres alfanuméricos, incluidos guiones y caracteres de subrayado, y no puede contener más de 64 caracteres.
id: string
Valor de propiedad
string
lastModified
El último tiempo modificado de la Prueba.
lastModified: Date
Valor de propiedad
Date
multiInstanceSettings
Un objeto que indica que la tarea es una tarea multiinstancia y contiene información sobre cómo ejecutarla.
multiInstanceSettings?: MultiInstanceSettings
Valor de propiedad
nodeInfo
Información sobre el Nodo de Cómputo en el que se ejecutaba la Tarea.
nodeInfo?: BatchNodeInfo
Valor de propiedad
outputFiles
Una lista de archivos que el servicio Batch cargará desde el Nodo de Cómputo tras ejecutar la línea de comandos. Para tareas multiinstancia, los archivos solo se cargarán desde el nodo de cómputo en el que se ejecuta la tarea principal.
outputFiles?: OutputFile[]
Valor de propiedad
previousState
El estado anterior de la Prueba. Esta propiedad no se activa si la tarea está en su estado activo inicial.
previousState?: BatchTaskState
Valor de propiedad
previousStateTransitionTime
El momento en que la Tarea entró en su estado anterior. Esta propiedad no se activa si la tarea está en su estado activo inicial.
previousStateTransitionTime?: Date
Valor de propiedad
Date
requiredSlots
El número de espacios de planificación que la Tarea requiere para ejecutarse. El valor predeterminado es 1. Una tarea solo puede programarse para ejecutarse en un nodo de cómputo si este tiene suficientes espacios libres de planificación disponibles. Para tareas multiinstancia, esto debe ser 1.
requiredSlots?: 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. Para tareas multiinstancia, los archivos de recursos solo se descargan al nodo de cómputo en el que se ejecuta la tarea principal. Hay un tamaño máximo para la lista de archivos de recursos. Cuando se supera el tamaño máximo, se producirá un error en la solicitud y el código de error de respuesta será RequestEntityTooLarge. Si esto ocurre, la colección de ResourceFiles debe reducirse en tamaño. Esto se puede lograr mediante archivos de .zip, paquetes de aplicación o contenedores de Docker.
resourceFiles?: ResourceFile[]
Valor de propiedad
state
stateTransitionTime
El momento en que la Tarea entró en su estado actual.
stateTransitionTime: Date
Valor de propiedad
Date
taskStatistics
Estadísticas de uso de recursos para la tarea.
taskStatistics?: BatchTaskStatistics
Valor de propiedad
url
La URL de la tarea.
url: string
Valor de propiedad
string
userIdentity
La identidad de usuario bajo la cual se ejecuta la tarea. Si se omite, la tarea se ejecuta como un usuario no administrativo único de la tarea.
userIdentity?: UserIdentity