Compartir a través de


JobReleaseTask Clase

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 completada 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 han ejecutado 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 sigue 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 se marca como completado hasta que se hayan completado todas las tareas de liberación de trabajos. La tarea De liberación de trabajos se ejecuta en segundo plano. No ocupa un espacio de programación; es decir, no cuenta con el límite taskSlotsPerNode especificado en el grupo.

Todos los parámetros necesarios deben rellenarse para enviarlos a Azure.

Herencia
JobReleaseTask

Constructor

JobReleaseTask(*, command_line: str, id: str = None, container_settings=None, resource_files=None, environment_settings=None, max_wall_clock_time=None, retention_time=None, user_identity=None, **kwargs)

Parámetros

id
str
Requerido

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

command_line
str
Requerido

Necesario. 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 tarea) o usar la variable de entorno proporcionada por Batch (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).

container_settings
TaskContainerSettings
Requerido

La configuración del contenedor en el que se ejecuta la tarea de liberación de trabajos. 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 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.

resource_files
list[ResourceFile]
Requerido

Los archivos enumerados en este elemento se encuentran en el directorio de trabajo de la tarea.

environment_settings
list[EnvironmentSetting]
Requerido
max_wall_clock_time
<xref:timedelta>
Requerido
retention_time
<xref:timedelta>
Requerido

El valor predeterminado es de 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_identity
UserIdentity
Requerido

Identidad de usuario con 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.

Métodos

as_dict

Devuelve un dict que puede ser JSONify mediante json.dump.

El uso avanzado puede usar opcionalmente una devolución de llamada como parámetro:

Key es el nombre de atributo que se usa en Python. Attr_desc es un dict de metadatos. Actualmente contiene 'type' con el tipo msrest y 'key' con la clave codificada restAPI. Value es el valor actual de este objeto.

La cadena devuelta se usará para serializar la clave. Si el tipo de valor devuelto es una lista, se considera una diferencia de resultado jerárquica.

Vea los tres ejemplos de este archivo:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Si desea serialización XML, puede pasar los kwargs is_xml=True.

deserialize

Analice una cadena mediante la sintaxis restAPI y devuelva un modelo.

enable_additional_properties_sending
from_dict

Analizar un dict mediante un extractor de claves dado devuelve un modelo.

De forma predeterminada, considere la posibilidad de extractores de claves (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor y last_rest_key_case_insensitive_extractor)

is_xml_model
serialize

Devuelve el JSON que se enviaría a Azure desde este modelo.

Se trata de un alias para as_dict(full_restapi_key_transformer, keep_readonly=False).

Si desea serialización XML, puede pasar los kwargs is_xml=True.

validate

Valide este modelo de forma recursiva y devuelva una lista de ValidationError.

as_dict

Devuelve un dict que puede ser JSONify mediante json.dump.

El uso avanzado puede usar opcionalmente una devolución de llamada como parámetro:

Key es el nombre de atributo que se usa en Python. Attr_desc es un dict de metadatos. Actualmente contiene 'type' con el tipo msrest y 'key' con la clave codificada restAPI. Value es el valor actual de este objeto.

La cadena devuelta se usará para serializar la clave. Si el tipo de valor devuelto es una lista, se considera una diferencia de resultado jerárquica.

Vea los tres ejemplos de este archivo:

  • attribute_transformer

  • full_restapi_key_transformer

  • last_restapi_key_transformer

Si desea serialización XML, puede pasar los kwargs is_xml=True.

as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)

Parámetros

key_transformer
<xref:function>

Función de transformador de teclas.

keep_readonly
valor predeterminado: True

Devoluciones

Un objeto compatible con JSON dict

Tipo de valor devuelto

deserialize

Analice una cadena mediante la sintaxis restAPI y devuelva un modelo.

deserialize(data, content_type=None)

Parámetros

data
str
Requerido

Una cadena de datos mediante la estructura restAPI. JSON de forma predeterminada.

content_type
str
valor predeterminado: None

JSON de forma predeterminada, establezca application/xml si XML.

Devoluciones

Instancia de este modelo

Excepciones

DeserializationError if something went wrong

enable_additional_properties_sending

enable_additional_properties_sending()

from_dict

Analizar un dict mediante un extractor de claves dado devuelve un modelo.

De forma predeterminada, considere la posibilidad de extractores de claves (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor y last_rest_key_case_insensitive_extractor)

from_dict(data, key_extractors=None, content_type=None)

Parámetros

data
dict
Requerido

Un dict mediante la estructura restAPI

content_type
str
valor predeterminado: None

JSON de forma predeterminada, establezca application/xml si XML.

key_extractors
valor predeterminado: None

Devoluciones

Instancia de este modelo

Excepciones

DeserializationError if something went wrong

is_xml_model

is_xml_model()

serialize

Devuelve el JSON que se enviaría a Azure desde este modelo.

Se trata de un alias para as_dict(full_restapi_key_transformer, keep_readonly=False).

Si desea serialización XML, puede pasar los kwargs is_xml=True.

serialize(keep_readonly=False, **kwargs)

Parámetros

keep_readonly
bool
valor predeterminado: False

Si desea serializar los atributos de solo lectura

Devoluciones

Un objeto compatible con JSON dict

Tipo de valor devuelto

validate

Valide este modelo de forma recursiva y devuelva una lista de ValidationError.

validate()

Devoluciones

Una lista de errores de validación

Tipo de valor devuelto