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

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.

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.

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).

constraints

Las restricciones de ejecución que se aplican a esta tarea.

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.

creationTime

El momento de creación de la Tarea.

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á.

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.

environmentSettings

Una lista de ajustes de variables de entorno para la Tarea.

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.

executionInfo

Información sobre la ejecución de la Tarea.

exitConditions

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.

lastModified

El último tiempo modificado de la Prueba.

multiInstanceSettings

Un objeto que indica que la tarea es una tarea multiinstancia y contiene información sobre cómo ejecutarla.

nodeInfo

Información sobre el Nodo de Cómputo en el que se ejecutaba la Tarea.

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.

previousState

El estado anterior de la Prueba. Esta propiedad no se activa si la tarea está en su estado activo inicial.

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.

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.

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.

state

El estado actual de la tarea.

stateTransitionTime

El momento en que la Tarea entró en su estado actual.

taskStatistics

Estadísticas de uso de recursos para la tarea.

url

La URL de la tarea.

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.

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

El estado actual de la tarea.

state: BatchTaskState

Valor de propiedad

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

Valor de propiedad