JobReleaseTask interface
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
| command |
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 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. 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://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables). |
| container |
La configuración del contenedor en el que se ejecuta la tarea De liberación de trabajos. 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) en el contenedor, todas las variables de entorno task se asignan al contenedor y la línea de comandos task se ejecuta en el contenedor. Es posible que los archivos generados en el contenedor fuera de AZ_BATCH_NODE_ROOT_DIR no se reflejen en el disco host, lo que significa que las API de archivos de Batch no podrán acceder a esos archivos. |
| environment |
Lista de opciones de configuración de variables de entorno para la tarea De liberación de trabajos. |
| id | Cadena que identifica de forma única la tarea de liberación de trabajos 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. Si no especifica esta propiedad, el servicio Batch asigna un valor predeterminado de "jobrelease". Ninguna otra tarea del trabajo puede tener el mismo identificador que la tarea de liberación de trabajos. Si intenta enviar una tarea con el mismo identificador, el servicio Batch rechaza la solicitud con el código de error TaskIdSameAsJobReleaseTask; Si llama directamente a la API REST, el código de estado HTTP es 409 (conflicto). |
| max |
Tiempo máximo transcurrido que la tarea de liberación de trabajos puede ejecutarse en un nodo de proceso determinado, medido desde el momento en que se inicia la tarea. Si la tarea no se completa dentro del límite de tiempo, el servicio Batch lo finaliza. El valor predeterminado es de 15 minutos. Es posible que no especifique un tiempo de espera superior a 15 minutos. Si lo hace, el servicio Batch lo rechaza con un error; Si llama directamente a la API REST, el código de estado HTTP es 400 (solicitud incorrecta). |
| resource |
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. |
| retention |
El tiempo mínimo para conservar el directorio task de la tarea De liberación de trabajos en el nodo de proceso. Después de este tiempo, el servicio Batch puede eliminar el directorio Task y todo su contenido. El valor predeterminado es 7 días, es decir, el directorio Task se conservará durante 7 días a menos que se quite el nodo de proceso o se elimine el trabajo. |
| user |
Identidad de usuario en la que se ejecuta la tarea de liberación de trabajos. Si se omite, la tarea se ejecuta como un usuario no administrativo único para la tarea. |
Detalles de las propiedades
commandLine
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 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. 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://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).
commandLine: string
Valor de propiedad
string
containerSettings
La configuración del contenedor en el que se ejecuta la tarea De liberación de trabajos. 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) en el contenedor, todas las variables de entorno task se asignan al contenedor y la línea de comandos task se ejecuta en el contenedor. Es posible que los archivos generados en el contenedor fuera de AZ_BATCH_NODE_ROOT_DIR no se reflejen en el disco host, lo que significa que las API de archivos de Batch no podrán acceder a esos archivos.
containerSettings?: TaskContainerSettings
Valor de propiedad
environmentSettings
Lista de opciones de configuración de variables de entorno para la tarea De liberación de trabajos.
environmentSettings?: EnvironmentSetting[]
Valor de propiedad
id
Cadena que identifica de forma única la tarea de liberación de trabajos 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. Si no especifica esta propiedad, el servicio Batch asigna un valor predeterminado de "jobrelease". Ninguna otra tarea del trabajo puede tener el mismo identificador que la tarea de liberación de trabajos. Si intenta enviar una tarea con el mismo identificador, el servicio Batch rechaza la solicitud con el código de error TaskIdSameAsJobReleaseTask; Si llama directamente a la API REST, el código de estado HTTP es 409 (conflicto).
id?: string
Valor de propiedad
string
maxWallClockTime
Tiempo máximo transcurrido que la tarea de liberación de trabajos puede ejecutarse en un nodo de proceso determinado, medido desde el momento en que se inicia la tarea. Si la tarea no se completa dentro del límite de tiempo, el servicio Batch lo finaliza. El valor predeterminado es de 15 minutos. Es posible que no especifique un tiempo de espera superior a 15 minutos. Si lo hace, el servicio Batch lo rechaza con un error; Si llama directamente a la API REST, el código de estado HTTP es 400 (solicitud incorrecta).
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 task de la tarea De liberación de trabajos en el nodo de proceso. Después de este tiempo, el servicio Batch puede eliminar el directorio Task y todo su contenido. El valor predeterminado es 7 días, es decir, el directorio Task se conservará durante 7 días a menos que se quite el nodo de proceso o se elimine el trabajo.
retentionTime?: string
Valor de propiedad
string
userIdentity
Identidad de usuario en la que se ejecuta la tarea de liberación de trabajos. Si se omite, la tarea se ejecuta como un usuario no administrativo único para la tarea.
userIdentity?: UserIdentity