BatchJobReleaseTask interface

Una tarea de liberación de trabajos para ejecutarse en la finalización del trabajo en cualquier nodo de proceso en el que se haya ejecutado el trabajo. La tarea De liberación de trabajos se ejecuta cuando finaliza el trabajo, debido a uno de los siguientes elementos: el usuario llama a la API Finalizar trabajo o la API Eliminar trabajo mientras el trabajo sigue activo, se alcanza la restricción de tiempo de reloj máximo del trabajo y el trabajo sigue activo, o la tarea administrador de trabajos del trabajo se completa y el trabajo está configurado para finalizar cuando se completa el Administrador de trabajos. La tarea De liberación de trabajos se ejecuta en cada nodo donde se ejecutan las tareas del trabajo y la tarea de preparación del trabajo se ejecutó y completó. Si vuelve a crear una imagen de un nodo después de ejecutar la tarea de preparación del trabajo y el trabajo finaliza sin ninguna tarea adicional del trabajo que se ejecuta en ese nodo (y, por lo tanto, la tarea de preparación del trabajo no se vuelve a ejecutar), la tarea de liberación de trabajos no se ejecuta en ese nodo de proceso. Si un nodo se reinicia mientras se está ejecutando la tarea de liberación de trabajos, la tarea de liberación de trabajos se ejecuta de nuevo cuando se inicia el nodo de proceso. El trabajo no está marcado como completo hasta que se hayan completado todas las tareas de versión del trabajo. La tarea De liberación de trabajos se ejecuta en segundo plano. No ocupa un espacio de programación; es decir, no cuenta para el límite taskSlotsPerNode especificado en el grupo.

Propiedades

commandLine

La línea de comandos de la Tarea de Liberación de Trabajos. 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).

containerSettings

La configuración del contenedor bajo el cual se ejecuta la Tarea de Liberación de Trabajo. 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.

environmentSettings

Una lista de ajustes de variables de entorno para la tarea de liberación de trabajo.

id

Una cadena que identifica de forma única la Tarea de Liberación de Trabajo dentro del Trabajo. El ID puede contener cualquier combinación de caracteres alfanuméricos, incluidos guiones y guiones bajos, y no puede contener más de 64 caracteres. Si no especificas esta propiedad, el servicio por lotes asigna un valor por defecto de 'jobrelease'. Ninguna otra tarea en el puesto puede tener el mismo ID que la tarea de liberación de trabajo. Si intentas enviar una tarea con el mismo id, el servicio Batch rechaza la solicitud con el código de error TaskIdSameAsJobReleaseTask; si llamas directamente a la API REST, el código de estado HTTP es 409 (Conflicto).

maxWallClockTime

El tiempo máximo transcurrido que la Tarea de Liberación de Tareas puede ejecutar en un Nodo de Cómputo dado, medido desde el inicio de la Tarea. Si la tarea no se completa dentro del límite de tiempo, el servicio por lotes la termina. El valor predeterminado es 15 minutos. No puedes especificar un tiempo muerto superior a 15 minutos. Si lo haces, el servicio por lotes lo rechaza con un error; si llamas directamente a la API REST, el código de estado HTTP es 400 (Solicitud Mala). La duración del tiempo se especifica en el formato ISO 8601.

resourceFiles

Lista de archivos que el servicio Batch descargará en el nodo de proceso antes de ejecutar la línea de comandos. 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. Los archivos enumerados en este elemento se encuentran en el directorio de trabajo de la tarea.

retentionTime

El tiempo mínimo para conservar el directorio de Tarea para la Tarea de Liberación de Trabajo en el Nodo de Cómputo. Tras este tiempo, el servicio por lotes puede eliminar el directorio de Tarea y todo su contenido. El valor predeterminado es 7 días, es decir, el directorio de Tarea se mantendrá durante 7 días a menos que se elimine el Nodo de Cómputo o se elimine el Trabajo. La duración del tiempo se especifica en el formato ISO 8601.

userIdentity

La identidad de usuario bajo la cual se ejecuta la Tarea de Liberación de Trabajo. Si se omite, la tarea se ejecuta como un usuario no administrativo único de la tarea.

Detalles de las propiedades

commandLine

La línea de comandos de la Tarea de Liberación de Trabajos. 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

containerSettings

La configuración del contenedor bajo el cual se ejecuta la Tarea de Liberación de Trabajo. 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

environmentSettings

Una lista de ajustes de variables de entorno para la tarea de liberación de trabajo.

environmentSettings?: EnvironmentSetting[]

Valor de propiedad

id

Una cadena que identifica de forma única la Tarea de Liberación de Trabajo dentro del Trabajo. El ID puede contener cualquier combinación de caracteres alfanuméricos, incluidos guiones y guiones bajos, y no puede contener más de 64 caracteres. Si no especificas esta propiedad, el servicio por lotes asigna un valor por defecto de 'jobrelease'. Ninguna otra tarea en el puesto puede tener el mismo ID que la tarea de liberación de trabajo. Si intentas enviar una tarea con el mismo id, el servicio Batch rechaza la solicitud con el código de error TaskIdSameAsJobReleaseTask; si llamas directamente a la API REST, el código de estado HTTP es 409 (Conflicto).

id?: string

Valor de propiedad

string

maxWallClockTime

El tiempo máximo transcurrido que la Tarea de Liberación de Tareas puede ejecutar en un Nodo de Cómputo dado, medido desde el inicio de la Tarea. Si la tarea no se completa dentro del límite de tiempo, el servicio por lotes la termina. El valor predeterminado es 15 minutos. No puedes especificar un tiempo muerto superior a 15 minutos. Si lo haces, el servicio por lotes lo rechaza con un error; si llamas directamente a la API REST, el código de estado HTTP es 400 (Solicitud Mala). La duración del tiempo se especifica en el formato ISO 8601.

maxWallClockTime?: string

Valor de propiedad

string

resourceFiles

Lista de archivos que el servicio Batch descargará en el nodo de proceso antes de ejecutar la línea de comandos. 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. Los archivos enumerados en este elemento se encuentran en el directorio de trabajo de la tarea.

resourceFiles?: ResourceFile[]

Valor de propiedad

retentionTime

El tiempo mínimo para conservar el directorio de Tarea para la Tarea de Liberación de Trabajo en el Nodo de Cómputo. Tras este tiempo, el servicio por lotes puede eliminar el directorio de Tarea y todo su contenido. El valor predeterminado es 7 días, es decir, el directorio de Tarea se mantendrá durante 7 días a menos que se elimine el Nodo de Cómputo o se elimine el Trabajo. La duración del tiempo se especifica en el formato ISO 8601.

retentionTime?: string

Valor de propiedad

string

userIdentity

La identidad de usuario bajo la cual se ejecuta la Tarea de Liberación de Trabajo. Si se omite, la tarea se ejecuta como un usuario no administrativo único de la tarea.

userIdentity?: UserIdentity

Valor de propiedad