StartTask interface
In alcuni casi l'attività di avvio può essere rieseguita anche se il nodo non è stato riavviato. A causa di questo, le attività di avvio devono essere idempotenti e uscire normalmente se la configurazione che sta eseguendo è già stata eseguita. È consigliabile prestare particolare attenzione per evitare di avviare attività che creano processi di interruzione o installano/avviano i servizi dalla directory di lavoro dell'attività di avvio, in quanto in questo modo Batch non sarà in grado di eseguire di nuovo l'attività di avvio.
Proprietà
command |
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. Obbligatorio se vengono specificate altre proprietà di startTask. |
container |
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) nel contenitore, tutte le variabili di ambiente delle attività vengono mappate nel contenitore e la riga di comando dell'attività viene eseguita nel contenitore. |
environment |
Elenco delle impostazioni delle variabili di ambiente per l'attività di avvio. |
max |
Il servizio Batch ripete un'attività se il relativo codice di uscita è diverso da zero. Si noti che questo valore controlla specificamente il numero di tentativi. Il servizio Batch eseguirà l'attività una volta e quindi ripeterà l'esecuzione fino al limite di tentativi specificato. 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 ritenta l'attività. Se il numero massimo di tentativi è -1, il servizio Batch ritenta l'attività senza limiti. Il valore predefinito è 0 |
resource |
Elenco di file che il servizio Batch scaricherà nel nodo di calcolo prima di eseguire la riga di comando. |
user |
Se omesso, l'attività viene eseguita come utente non amministrativo univoco per l'attività. |
wait |
Se true e l'attività di avvio non riesce in un nodo di calcolo, il servizio Batch ritenta l'attività di avvio fino al numero massimo di tentativi (maxTaskRetryCount). Se l'attività non è ancora stata completata correttamente dopo tutti i tentativi, il servizio Batch contrassegna il nodo di calcolo inutilizzabile e non pianifica le attività. Questa condizione può essere rilevata tramite lo stato del nodo e i dettagli dell'errore di pianificazione. Se false, il servizio Batch non attenderà il completamento dell'attività di avvio. In questo caso, altre attività possono avviare l'esecuzione nel nodo di calcolo mentre l'attività di avvio è ancora in esecuzione; e anche se l'attività di avvio non riesce, le nuove attività continueranno a essere pianificate nel nodo. Il valore predefinito è true. |
Dettagli proprietà
commandLine
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. Obbligatorio se vengono specificate altre proprietà di startTask.
commandLine?: string
Valore della proprietà
string
containerSettings
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) nel contenitore, tutte le variabili di ambiente delle attività vengono mappate nel contenitore e la riga di comando dell'attività viene eseguita nel contenitore.
containerSettings?: TaskContainerSettings
Valore della proprietà
environmentSettings
Elenco delle impostazioni delle variabili di ambiente per l'attività di avvio.
environmentSettings?: EnvironmentSetting[]
Valore della proprietà
maxTaskRetryCount
Il servizio Batch ripete un'attività se il relativo codice di uscita è diverso da zero. Si noti che questo valore controlla specificamente il numero di tentativi. Il servizio Batch eseguirà l'attività una volta e quindi ripeterà l'esecuzione fino al limite di tentativi specificato. 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 ritenta l'attività. Se il numero massimo di tentativi è -1, il servizio Batch ritenta l'attività senza limiti. Il valore predefinito è 0
maxTaskRetryCount?: number
Valore della proprietà
number
resourceFiles
Elenco di file che il servizio Batch scaricherà nel nodo di calcolo prima di eseguire la riga di comando.
resourceFiles?: ResourceFile[]
Valore della proprietà
userIdentity
Se omesso, l'attività viene eseguita come utente non amministrativo univoco per l'attività.
userIdentity?: UserIdentity
Valore della proprietà
waitForSuccess
Se true e l'attività di avvio non riesce in un nodo di calcolo, il servizio Batch ritenta l'attività di avvio fino al numero massimo di tentativi (maxTaskRetryCount). Se l'attività non è ancora stata completata correttamente dopo tutti i tentativi, il servizio Batch contrassegna il nodo di calcolo inutilizzabile e non pianifica le attività. Questa condizione può essere rilevata tramite lo stato del nodo e i dettagli dell'errore di pianificazione. Se false, il servizio Batch non attenderà il completamento dell'attività di avvio. In questo caso, altre attività possono avviare l'esecuzione nel nodo di calcolo mentre l'attività di avvio è ancora in esecuzione; e anche se l'attività di avvio non riesce, le nuove attività continueranno a essere pianificate nel nodo. Il valore predefinito è true.
waitForSuccess?: boolean
Valore della proprietà
boolean