BatchTask interface
Batch ritenta attività quando viene attivata un'operazione di ripristino in un nodo. 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 dell'host. I tentativi dovuti alle operazioni di ripristino sono indipendenti da e non vengono conteggiati in base a maxTaskRetryCount. Anche se maxTaskRetryCount è 0, può verificarsi un nuovo tentativo interno a causa di un'operazione di ripristino. Per questo motivo, 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.
Proprietà
| affinity |
Un suggerimento di località che può essere usato dal servizio Batch per selezionare un Nodo di Calcolo su cui iniziare il nuovo Task. |
| application |
Un elenco dei pacchetti che il servizio Batch distribuirà al Nodo di Calcolo prima di eseguire la riga di comando. I pacchetti applicativi vengono scaricati e distribuiti in una directory condivisa, non nella directory di lavoro Task. Pertanto, se un pacchetto di riferimento è già presente nel Nodo ed è aggiornato, non viene riscaricato; viene utilizzata la copia esistente sul Nodo di Calcolo. Se un Pacchetto di riferimento non può essere installato, ad esempio perché il pacchetto è stato eliminato o perché il download è fallito, il Task fallisce. |
| command |
La riga di comando del Compito. Per i compiti multi-istanza, la riga di comando viene eseguita come compito primario, dopo che il compito primario e tutti i sottocompiti hanno terminato l'esecuzione della linea di comando di coordinamento. 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 vuoi sfruttare queste funzionalità, dovresti invocare la shell nella riga di comando, ad esempio usando "cmd /c MyCommand" in Windows o "/bin/sh -c MyCommand" su Linux. Se la riga di comando fa riferimento ai percorsi di file, deve usare un percorso relativo (relativo alla directory di lavoro attività) o usare la variabile di ambiente fornita da Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables). |
| constraints | I vincoli di esecuzione che si applicano a questo Compito. |
| container |
Le impostazioni del contenitore sotto cui viene eseguita il Task. Se il Pool che eseguirà questo Task ha containerConfiguration impostato, anche questo deve essere impostato. Se il Pool che eseguirà questo Task non ha containerConfiguration impostato, questo non deve essere impostato. Quando ciò viene specificato, tutte le directory ricorsivamente sotto la AZ_BATCH_NODE_ROOT_DIR (la radice delle cartelle di Azure Batch sul nodo) vengono mappate nel container, tutte le variabili dell'ambiente Task vengono mappate nel container e la riga di comando Task viene eseguita nel container. I file prodotti nel contenitore al di fuori di AZ_BATCH_NODE_ROOT_DIR potrebbero non essere riflessi sul disco host, il che significa che le API dei file Batch non potranno accedere a quei file. |
| creation |
Il momento della creazione del Compito. |
| depends |
I compiti da cui dipende questo compito. Questo compito non sarà programmato finché tutti i compiti da cui dipende non saranno completati con successo. Se uno di questi Compiti fallisce ed esaurisce il numero di ritentativi, questo Compito non verrà mai programmato. |
| display |
Un nome visualizzato per il Compito. Il nome visualizzato non deve essere univoco e può contenere caratteri Unicode fino a una lunghezza massima di 1024. |
| environment |
Un elenco delle impostazioni delle variabili ambientali per il Task. |
| e |
L'ETag del Compito. Si tratta di una stringa opaca. Puoi usarlo per rilevare se il Task è cambiato tra una richiesta e l'altra. In particolare, puoi passare l'ETag quando aggiorni un Task per specificare che le tue modifiche dovrebbero entrare in vigore solo se nessun altro ha modificato il Task nel frattempo. |
| execution |
Informazioni sull'esecuzione del compito. |
| exit |
Come dovrebbe rispondere il servizio batch al completamento del compito. |
| id | Una stringa che identifica in modo unico il Compito all'interno del Lavoro. L'ID può contenere qualsiasi combinazione di caratteri alfanumerici, inclusi trattini e caratteri di sottolineatura, e non può contenere più di 64 caratteri. |
| last |
L'ultimo tempo modificato del Compito. |
| multi |
Un oggetto che indica che il Task è un Task multi-istanze e contiene informazioni su come eseguire il Task multi-istanza. |
| node |
Informazioni sul Nodo di Calcolo su cui veniva eseguito il Compito. |
| output |
Un elenco dei file che il servizio Batch caricherà dal Nodo di Calcolo dopo aver eseguito la riga di comando. Per i Task multi-istanza, i file verranno caricati solo dal Nodo di Calcolo su cui viene eseguito il Task principale. |
| previous |
Lo stato precedente del Compito. Questa proprietà non è impostata se il Task è nel suo stato iniziale Attivo. |
| previous |
Il momento in cui il Compito è entrato nel suo stato precedente. Questa proprietà non è impostata se il Task è nel suo stato iniziale Attivo. |
| required |
Il numero di slot di programmazione che il Task richiede per essere eseguito. L'impostazione predefinita è 1. Un Task può essere programmato per essere eseguito su un nodo di calcolo solo se il nodo dispone di abbastanza slot di programmazione liberi. Per i Task multi-istanze, questo deve essere 1. |
| resource |
Elenco di file scaricati dal servizio Batch nel nodo di calcolo prima di eseguire la riga di comando. Per i compiti multi-istanza, i file di risorse verranno scaricati solo nel nodo di calcolo su cui viene eseguito il compito principale. È prevista una dimensione massima per l'elenco dei file di risorse. Quando viene superata la dimensione massima, la richiesta avrà esito negativo e il codice di errore della risposta sarà RequestEntityTooLarge. In questo caso, la raccolta di ResourceFiles deve essere ridotta di dimensioni. A tale scopo, è possibile usare .zip file, pacchetti di applicazioni o contenitori Docker. |
| state | Lo stato attuale del Compito. |
| state |
Il momento in cui il Compito è entrato nel suo stato attuale. |
| task |
Statistiche sull'uso delle risorse per il Compito. |
| url | L'URL del Task. |
| user |
L'identità utente sotto cui viene eseguito il Task. Se omesso, il Task viene eseguito come un utente non amministrativo unico per il Task. |
Dettagli proprietà
affinityInfo
Un suggerimento di località che può essere usato dal servizio Batch per selezionare un Nodo di Calcolo su cui iniziare il nuovo Task.
affinityInfo?: BatchAffinityInfo
Valore della proprietà
applicationPackageReferences
Un elenco dei pacchetti che il servizio Batch distribuirà al Nodo di Calcolo prima di eseguire la riga di comando. I pacchetti applicativi vengono scaricati e distribuiti in una directory condivisa, non nella directory di lavoro Task. Pertanto, se un pacchetto di riferimento è già presente nel Nodo ed è aggiornato, non viene riscaricato; viene utilizzata la copia esistente sul Nodo di Calcolo. Se un Pacchetto di riferimento non può essere installato, ad esempio perché il pacchetto è stato eliminato o perché il download è fallito, il Task fallisce.
applicationPackageReferences?: BatchApplicationPackageReference[]
Valore della proprietà
commandLine
La riga di comando del Compito. Per i compiti multi-istanza, la riga di comando viene eseguita come compito primario, dopo che il compito primario e tutti i sottocompiti hanno terminato l'esecuzione della linea di comando di coordinamento. 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 vuoi sfruttare queste funzionalità, dovresti invocare la shell nella riga di comando, ad esempio usando "cmd /c MyCommand" in Windows o "/bin/sh -c MyCommand" su Linux. Se la riga di comando fa riferimento ai percorsi di file, deve usare un percorso relativo (relativo alla directory di lavoro attività) o usare la variabile di ambiente fornita da Batch (https://learn.microsoft.com/azure/batch/batch-compute-node-environment-variables).
commandLine: string
Valore della proprietà
string
constraints
I vincoli di esecuzione che si applicano a questo Compito.
constraints?: BatchTaskConstraints
Valore della proprietà
containerSettings
Le impostazioni del contenitore sotto cui viene eseguita il Task. Se il Pool che eseguirà questo Task ha containerConfiguration impostato, anche questo deve essere impostato. Se il Pool che eseguirà questo Task non ha containerConfiguration impostato, questo non deve essere impostato. Quando ciò viene specificato, tutte le directory ricorsivamente sotto la AZ_BATCH_NODE_ROOT_DIR (la radice delle cartelle di Azure Batch sul nodo) vengono mappate nel container, tutte le variabili dell'ambiente Task vengono mappate nel container e la riga di comando Task viene eseguita nel container. I file prodotti nel contenitore al di fuori di AZ_BATCH_NODE_ROOT_DIR potrebbero non essere riflessi sul disco host, il che significa che le API dei file Batch non potranno accedere a quei file.
containerSettings?: BatchTaskContainerSettings
Valore della proprietà
creationTime
Il momento della creazione del Compito.
creationTime: Date
Valore della proprietà
Date
dependsOn
I compiti da cui dipende questo compito. Questo compito non sarà programmato finché tutti i compiti da cui dipende non saranno completati con successo. Se uno di questi Compiti fallisce ed esaurisce il numero di ritentativi, questo Compito non verrà mai programmato.
dependsOn?: BatchTaskDependencies
Valore della proprietà
displayName
Un nome visualizzato per il Compito. Il nome visualizzato non deve essere univoco e può contenere caratteri Unicode fino a una lunghezza massima di 1024.
displayName?: string
Valore della proprietà
string
environmentSettings
Un elenco delle impostazioni delle variabili ambientali per il Task.
environmentSettings?: EnvironmentSetting[]
Valore della proprietà
eTag
L'ETag del Compito. Si tratta di una stringa opaca. Puoi usarlo per rilevare se il Task è cambiato tra una richiesta e l'altra. In particolare, puoi passare l'ETag quando aggiorni un Task per specificare che le tue modifiche dovrebbero entrare in vigore solo se nessun altro ha modificato il Task nel frattempo.
eTag: string
Valore della proprietà
string
executionInfo
Informazioni sull'esecuzione del compito.
executionInfo?: BatchTaskExecutionInfo
Valore della proprietà
exitConditions
Come dovrebbe rispondere il servizio batch al completamento del compito.
exitConditions?: ExitConditions
Valore della proprietà
id
Una stringa che identifica in modo unico il Compito all'interno del Lavoro. L'ID può contenere qualsiasi combinazione di caratteri alfanumerici, inclusi trattini e caratteri di sottolineatura, e non può contenere più di 64 caratteri.
id: string
Valore della proprietà
string
lastModified
L'ultimo tempo modificato del Compito.
lastModified: Date
Valore della proprietà
Date
multiInstanceSettings
Un oggetto che indica che il Task è un Task multi-istanze e contiene informazioni su come eseguire il Task multi-istanza.
multiInstanceSettings?: MultiInstanceSettings
Valore della proprietà
nodeInfo
Informazioni sul Nodo di Calcolo su cui veniva eseguito il Compito.
nodeInfo?: BatchNodeInfo
Valore della proprietà
outputFiles
Un elenco dei file che il servizio Batch caricherà dal Nodo di Calcolo dopo aver eseguito la riga di comando. Per i Task multi-istanza, i file verranno caricati solo dal Nodo di Calcolo su cui viene eseguito il Task principale.
outputFiles?: OutputFile[]
Valore della proprietà
previousState
Lo stato precedente del Compito. Questa proprietà non è impostata se il Task è nel suo stato iniziale Attivo.
previousState?: BatchTaskState
Valore della proprietà
previousStateTransitionTime
Il momento in cui il Compito è entrato nel suo stato precedente. Questa proprietà non è impostata se il Task è nel suo stato iniziale Attivo.
previousStateTransitionTime?: Date
Valore della proprietà
Date
requiredSlots
Il numero di slot di programmazione che il Task richiede per essere eseguito. L'impostazione predefinita è 1. Un Task può essere programmato per essere eseguito su un nodo di calcolo solo se il nodo dispone di abbastanza slot di programmazione liberi. Per i Task multi-istanze, questo deve essere 1.
requiredSlots?: number
Valore della proprietà
number
resourceFiles
Elenco di file scaricati dal servizio Batch nel nodo di calcolo prima di eseguire la riga di comando. Per i compiti multi-istanza, i file di risorse verranno scaricati solo nel nodo di calcolo su cui viene eseguito il compito principale. È prevista una dimensione massima per l'elenco dei file di risorse. Quando viene superata la dimensione massima, la richiesta avrà esito negativo e il codice di errore della risposta sarà RequestEntityTooLarge. In questo caso, la raccolta di ResourceFiles deve essere ridotta di dimensioni. A tale scopo, è possibile usare .zip file, pacchetti di applicazioni o contenitori Docker.
resourceFiles?: ResourceFile[]
Valore della proprietà
state
stateTransitionTime
Il momento in cui il Compito è entrato nel suo stato attuale.
stateTransitionTime: Date
Valore della proprietà
Date
taskStatistics
Statistiche sull'uso delle risorse per il Compito.
taskStatistics?: BatchTaskStatistics
Valore della proprietà
url
L'URL del Task.
url: string
Valore della proprietà
string
userIdentity
L'identità utente sotto cui viene eseguito il Task. Se omesso, il Task viene eseguito come un utente non amministrativo unico per il Task.
userIdentity?: UserIdentity