Compartir a través de


CloudTask Clase

Tarea Azure Batch.

Batch reintentará tareas cuando se desencadene una operación de recuperación en un nodo. Algunos ejemplos de operaciones de recuperación incluyen (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 reinicien sin causar daños ni datos duplicados. El procedimiento recomendado para tareas de larga duración consiste en usar algún tipo de punto de comprobación.

Herencia
CloudTask

Constructor

CloudTask(*, id: str = None, display_name: str = None, url: str = None, e_tag: str = None, last_modified=None, creation_time=None, exit_conditions=None, state=None, state_transition_time=None, previous_state=None, previous_state_transition_time=None, command_line: str = None, container_settings=None, resource_files=None, output_files=None, environment_settings=None, affinity_info=None, constraints=None, required_slots: int = None, user_identity=None, execution_info=None, node_info=None, multi_instance_settings=None, stats=None, depends_on=None, application_package_references=None, authentication_token_settings=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.

display_name
str
Requerido

El nombre para mostrar no debe ser único y puede contener cualquier carácter Unicode hasta una longitud máxima de 1024.

url
str
Requerido
e_tag
str
Requerido

Se trata de una cadena opaca. Puede usarlo para detectar si la tarea ha cambiado entre solicitudes. En concreto, puede pasar la ETag al actualizar una tarea para especificar que los cambios deben surtir efecto solo si nadie más ha modificado la tarea mientras tanto.

last_modified
datetime
Requerido
creation_time
datetime
Requerido
exit_conditions
ExitConditions
Requerido

Cómo debe responder el servicio Batch cuando se complete la tarea.

state
str o TaskState
Requerido

Estado actual de la tarea. Entre los valores posibles se incluyen: "active", "prepare", "running", "completed"

state_transition_time
datetime
Requerido
previous_state
str o TaskState
Requerido

Estado anterior de la tarea. Esta propiedad no se establece si la tarea está en su estado activo inicial. Entre los valores posibles se incluyen: "active", "prepare", "running", "completed"

previous_state_transition_time
datetime
Requerido

Esta propiedad no se establece si la tarea está en su estado activo inicial.

command_line
str
Requerido

Para las tareas de varias instancias, la línea de comandos se ejecuta como tarea principal, después de que la tarea principal y todas las subtareas hayan terminado de ejecutar la línea de comandos de coordinació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 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. Si el grupo que ejecutará esta tarea tiene el conjunto containerConfiguration, también debe establecerse. Si el grupo que ejecutará esta tarea no tiene containerConfiguration establecido, no se debe establecer. 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

En el caso de las tareas de varias instancias, los archivos de recursos solo se descargarán en el nodo de proceso 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 de tamaño. Esto se puede lograr mediante archivos .zip, paquetes de aplicación o contenedores de Docker.

output_files
list[OutputFile]
Requerido

En el caso de las tareas de varias instancias, los archivos solo se cargarán desde el nodo de proceso en el que se ejecuta la tarea principal.

environment_settings
list[EnvironmentSetting]
Requerido
affinity_info
AffinityInformation
Requerido

Sugerencia de localidad que el servicio Batch puede usar para seleccionar un nodo de proceso en el que iniciar la nueva tarea.

constraints
TaskConstraints
Requerido

Restricciones de ejecución que se aplican a esta tarea.

required_slots
int
Requerido

Número de ranuras de programación que requiere la tarea para ejecutarse. El valor predeterminado es 1. Una tarea solo se puede programar para ejecutarse en un nodo de proceso si el nodo tiene suficientes ranuras de programación libres disponibles. Para las tareas de varias instancias, debe ser 1.

user_identity
UserIdentity
Requerido

Identidad de usuario con la que se ejecuta la tarea. Si se omite, la tarea se ejecuta como un usuario no administrativo único para la tarea.

execution_info
TaskExecutionInformation
Requerido

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

node_info
ComputeNodeInformation
Requerido

Información sobre el nodo de proceso en el que se ejecutó la tarea.

multi_instance_settings
MultiInstanceSettings
Requerido

Objeto que indica que la tarea es una tarea de varias instancias y contiene información sobre cómo ejecutar la tarea de varias instancias.

stats
TaskStatistics
Requerido

Estadísticas de uso de recursos para la tarea.

depends_on
TaskDependencies
Requerido

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 correctamente. Si alguna de esas tareas produce un error y agota sus recuentos de reintentos, esta tarea nunca se programará.

application_package_references
list[ApplicationPackageReference]
Requerido

Los paquetes de aplicación se descargan e implementan en un directorio compartido, no en el directorio de trabajo task. Por lo tanto, si un paquete al que se hace referencia ya está en el nodo y está actualizado, no se vuelve a descargar; se usa la copia existente en el nodo de proceso. Si no se puede instalar un paquete al que se hace referencia, por ejemplo porque se ha eliminado el paquete o porque se produjo un error en la descarga, se produce un error en la tarea.

authentication_token_settings
AuthenticationTokenSettings
Requerido

La configuración de un token de autenticación que la tarea puede usar para realizar operaciones de servicio de Batch. Si se establece esta propiedad, el servicio Batch proporciona la tarea con un token de autenticación que se puede usar para autenticar las operaciones del servicio Batch sin necesidad de una clave de acceso de la cuenta. El token se proporciona a través de la variable de entorno AZ_BATCH_AUTHENTICATION_TOKEN. Las operaciones que la tarea puede llevar a cabo con el token dependen de la configuración. Por ejemplo, una tarea puede solicitar permisos de trabajo para agregar otras tareas al trabajo o comprobar el estado del trabajo o de otras tareas en el trabajo.

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