StartTask Classe
Attività eseguita quando un nodo aggiunge un pool nel servizio Azure Batch o quando il nodo di calcolo viene riavviato o ricreato.
Batch ritenta attività quando viene attivata un'operazione di ripristino in un nodo. Alcuni esempi di operazioni di ripristino includono (ma non sono limitati a) quando un nodo non integro viene riavviato o un nodo di calcolo scomparso a causa di un errore host. I tentativi dovuti alle operazioni di ripristino sono indipendenti da e non vengono conteggiati rispetto al maxTaskRetryCount. Anche se maxTaskRetryCount è 0, potrebbe verificarsi un tentativo interno a causa di un'operazione di ripristino. A causa di questo, tutte le attività devono essere idempotenti. Ciò significa che le attività devono tollerare l'interruzione e il riavvio senza causare alcun danneggiamento o dati duplicati. La procedura consigliata per le attività a esecuzione prolungata consiste nell'usare una forma di checkpoint. In alcuni casi, startTask può essere eseguito nuovamente anche se il nodo di calcolo non è stato riavviato. È consigliabile prestare particolare attenzione per evitare StartTasks che creano processi di interruzione o installano/avviano i servizi dalla directory di lavoro StartTask, in quanto questo impedisce a Batch di essere in grado di eseguire nuovamente StartTask.
Tutti i parametri obbligatori devono essere popolati per inviare ad Azure.
- Ereditarietà
-
StartTask
Costruttore
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)
Parametri
- command_line
- str
Obbligatorio. La riga di comando non viene eseguita in una shell e pertanto non può sfruttare le funzionalità della shell, ad esempio l'espansione delle variabili di ambiente. Se si desidera sfruttare tali funzionalità, è necessario richiamare la shell nella riga di comando, ad esempio usando "cmd /c MyCommand" in Windows o "/bin/sh -c MyCommand" in Linux. Se la riga di comando fa riferimento ai percorsi di file, deve usare un percorso relativo (rispetto alla directory di lavoro attività) o usare la variabile di ambiente fornita da Batch (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables).
- container_settings
- TaskContainerSettings
Impostazioni per il contenitore in cui viene eseguito StartTask. Quando viene specificato, tutte le directory vengono mappate in modo ricorsivo al di sotto del AZ_BATCH_NODE_ROOT_DIR (la radice delle directory di Azure Batch nel nodo) vengono mappate nel contenitore, tutte le variabili di ambiente attività vengono mappate nel contenitore e la riga di comando attività viene eseguita nel contenitore. I file generati nel contenitore all'esterno di AZ_BATCH_NODE_ROOT_DIR potrebbero non essere riflessi nel disco host, ovvero le API file batch non potranno accedere a tali file.
- resource_files
- list[ResourceFile]
I file elencati in questo elemento si trovano nella directory di lavoro dell'attività.
- environment_settings
- list[EnvironmentSetting]
- user_identity
- UserIdentity
Identità utente in cui viene eseguito StartTask. Se omesso, l'attività viene eseguita come utente non amministrativo univoco per l'attività.
- max_task_retry_count
- int
Numero massimo di tentativi di ripetizione dell'attività. Il servizio Batch esegue il tentativo di un'attività se il codice di uscita è diverso da zero. Si noti che questo valore controlla specificamente il numero di tentativi. Il servizio Batch tenterà l'attività una sola volta e potrebbe quindi riprovare fino a questo limite. Ad esempio, se il numero massimo di tentativi è 3, Batch prova l'attività fino a 4 volte (un tentativo iniziale e 3 tentativi). Se il numero massimo di tentativi è 0, il servizio Batch non riprova l'attività. Se il numero massimo di tentativi è -1, il servizio Batch esegue il tentativo dell'attività senza limiti, ma non è consigliabile per un'attività di avvio o per qualsiasi attività. Il valore predefinito è 0, ovvero nessun tentativo.
- wait_for_success
- bool
Se il servizio Batch deve attendere che StartTask venga completato correttamente, ovvero per uscire con il codice di uscita 0) prima di pianificare qualsiasi attività nel nodo di calcolo. Se true e StartTask ha esito negativo in un nodo, il servizio Batch esegue il tentativo startTask fino al numero massimo di tentativi (maxTaskRetryCount). Se l'attività non è ancora stata completata dopo tutti i tentativi, il servizio Batch contrassegna il nodo non utilizzabile e non pianifica attività. Questa condizione può essere rilevata tramite lo stato del nodo di calcolo e i dettagli sulle informazioni sugli errori. Se false, il servizio Batch non attenderà il completamento di StartTask. In questo caso, altre attività possono iniziare a eseguire nel nodo di calcolo mentre StartTask è ancora in esecuzione; e anche se StartTask ha esito negativo, le nuove attività continueranno a essere pianificate nel nodo di calcolo. Il valore predefinito è true.
Metodi
as_dict |
Restituire un valore dict che può essere JSONify usando json.dump. L'utilizzo avanzato potrebbe facoltativamente usare un callback come parametro: La chiave è il nome dell'attributo usato in Python. Attr_desc è un dict di metadati. Attualmente contiene 'type' con il tipo msrest e 'key' con la chiave con codifica RestAPI. Il valore è il valore corrente in questo oggetto. La stringa restituita verrà usata per serializzare la chiave. Se il tipo restituito è un elenco, viene considerato un risultato gerarchico. Vedere i tre esempi in questo file:
Se si vuole la serializzazione XML, è possibile passare i kwargs is_xml=True. |
deserialize |
Analizzare uno str usando la sintassi RestAPI e restituire un modello. |
enable_additional_properties_sending | |
from_dict |
Analizzare un dict usando un estrattore chiave specificato restituisce un modello. Per impostazione predefinita, considerare gli estrattori di chiavi (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor e last_rest_key_case_insensitive_extractor) |
is_xml_model | |
serialize |
Restituire il codice JSON inviato ad Azure da questo modello. Si tratta di un alias per as_dict(full_restapi_key_transformer, keep_readonly=False).This is an alias to as_dict(full_restapi_key_transformer, keep_readonly=False).This is an alias to as_dict(full_restapi_key_transformer, keep_readonly=False). Se si vuole la serializzazione XML, è possibile passare i kwargs is_xml=True. |
validate |
Convalidare questo modello in modo ricorsivo e restituire un elenco di ValidationError. |
as_dict
Restituire un valore dict che può essere JSONify usando json.dump.
L'utilizzo avanzato potrebbe facoltativamente usare un callback come parametro:
La chiave è il nome dell'attributo usato in Python. Attr_desc è un dict di metadati. Attualmente contiene 'type' con il tipo msrest e 'key' con la chiave con codifica RestAPI. Il valore è il valore corrente in questo oggetto.
La stringa restituita verrà usata per serializzare la chiave. Se il tipo restituito è un elenco, viene considerato un risultato gerarchico.
Vedere i tre esempi in questo file:
attribute_transformer
full_restapi_key_transformer
last_restapi_key_transformer
Se si vuole la serializzazione XML, è possibile passare i kwargs is_xml=True.
as_dict(keep_readonly=True, key_transformer=<function attribute_transformer>, **kwargs)
Parametri
- key_transformer
- <xref:function>
Funzione di trasformatore chiave.
- keep_readonly
Restituisce
Oggetto compatibile con JSON dict
Tipo restituito
deserialize
Analizzare uno str usando la sintassi RestAPI e restituire un modello.
deserialize(data, content_type=None)
Parametri
- content_type
- str
JSON per impostazione predefinita, impostare application/xml se XML.
Restituisce
Istanza di questo modello
Eccezioni
enable_additional_properties_sending
enable_additional_properties_sending()
from_dict
Analizzare un dict usando un estrattore chiave specificato restituisce un modello.
Per impostazione predefinita, considerare gli estrattori di chiavi (rest_key_case_insensitive_extractor, attribute_key_case_insensitive_extractor e last_rest_key_case_insensitive_extractor)
from_dict(data, key_extractors=None, content_type=None)
Parametri
- content_type
- str
JSON per impostazione predefinita, impostare application/xml se XML.
- key_extractors
Restituisce
Istanza di questo modello
Eccezioni
is_xml_model
is_xml_model()
serialize
Restituire il codice JSON inviato ad Azure da questo modello.
Si tratta di un alias per as_dict(full_restapi_key_transformer, keep_readonly=False).This is an alias to as_dict(full_restapi_key_transformer, keep_readonly=False).This is an alias to as_dict(full_restapi_key_transformer, keep_readonly=False).
Se si vuole la serializzazione XML, è possibile passare i kwargs is_xml=True.
serialize(keep_readonly=False, **kwargs)
Parametri
Restituisce
Oggetto compatibile con JSON dict
Tipo restituito
validate
Convalidare questo modello in modo ricorsivo e restituire un elenco di ValidationError.
validate()
Restituisce
Elenco di errori di convalida
Tipo restituito
Azure SDK for Python