StartTask Clase
Tarea que se ejecuta cuando un nodo se une a un grupo en el servicio Azure Batch o cuando se reinicia o se vuelve a crear una imagen de imagen.
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. En algunos casos, startTask puede volver a ejecutarse aunque el nodo de proceso no se haya reiniciado. Se debe tener especial cuidado para evitar StartTasks que creen servicios de interrupción o instalación o inicio desde el directorio de trabajo StartTask, ya que esto impedirá que Batch pueda volver a ejecutar StartTask.
Todos los parámetros necesarios deben rellenarse para enviarlos a Azure.
- Herencia
-
StartTask
Constructor
StartTask(*, command_line: str, container_settings=None, resource_files=None, environment_settings=None, user_identity=None, max_task_retry_count: int = None, wait_for_success: bool = None, **kwargs)
Parámetros
- command_line
- str
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
La configuración del contenedor en el que se ejecuta StartTask. 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]
Los archivos enumerados en este elemento se encuentran en el directorio de trabajo de la tarea.
- environment_settings
- list[EnvironmentSetting]
- user_identity
- UserIdentity
Identidad de usuario con la que se ejecuta StartTask. Si se omite, la tarea se ejecuta como un usuario no administrativo único para la tarea.
- max_task_retry_count
- int
Número máximo de veces que se puede reintentar la tarea. El servicio Batch reintenta una tarea si su código de salida es distinto de cero. Tenga en cuenta que este valor controla específicamente el número de reintentos. El servicio Batch probará la tarea una vez y, a continuación, puede volver a intentarlo hasta este límite. Por ejemplo, si el número máximo de reintentos es 3, Batch intenta la tarea hasta 4 veces (un intento inicial y 3 reintentos). Si el número máximo de reintentos es 0, el servicio Batch no reintenta la tarea. Si el número máximo de reintentos es -1, el servicio Batch reintenta la tarea sin límite, pero esto no se recomienda para una tarea de inicio ni para ninguna tarea. El valor predeterminado es 0 (sin ningún reintento).
- wait_for_success
- bool
Si el servicio Batch debe esperar a que StartTask se complete correctamente (es decir, salir con el código de salida 0) antes de programar cualquier tarea en el nodo de proceso. Si es true y startTask se produce un error en un nodo, el servicio Batch reintenta startTask hasta su número máximo de reintentos (maxTaskRetryCount). Si la tarea todavía no se ha completado correctamente después de todos los reintentos, el servicio Batch marca el nodo inutilizable y no programará tareas en él. Esta condición se puede detectar a través del estado del nodo de proceso y los detalles de información de error. Si es false, el servicio Batch no esperará a que se complete startTask. En este caso, otras tareas pueden empezar a ejecutarse en el nodo de proceso mientras se sigue ejecutando StartTask; e incluso si se produce un error en StartTask, las nuevas tareas seguirán programando en el nodo de proceso. El valor predeterminado es true.
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:
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
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
Una cadena de datos mediante la estructura restAPI. JSON de forma predeterminada.
- content_type
- str
JSON de forma predeterminada, establezca application/xml si XML.
Devoluciones
Instancia de este modelo
Excepciones
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
- content_type
- str
JSON de forma predeterminada, establezca application/xml si XML.
- key_extractors
Devoluciones
Instancia de este modelo
Excepciones
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
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
Azure SDK for Python