Esecuzione del lavoro e accodamento
Informazioni sulla coda lavori Schematics
Quando un utente esegue un'operazione Schematics, i lavori vengono accodati su una coda di servizi condivisi. Un lavoro rimane nella coda fino a quando i nodi di lavoro non sono disponibili nelle regioni di destinazione per eseguire il lavoro. Le politiche di pianificazione vengono applicate ai lavori per garantire che il servizio sia equamente disponibile per tutti gli utenti.
Funzionamento della coda lavori
In base al numero di lavori inoltrati da un utente e al tempo di esecuzione dei lavori, il consumer può riscontrare ritardi prima dell'esecuzione dei lavori. La coda lavori garantisce che Schematics sia equamente disponibile per tutti i suoi utenti indipendentemente dal caricamento generato da un utente.
Esempio
Se un user-1 ha 20 lavori in attesa nella coda e user-2 inoltra un nuovo lavoro. Il lavoro User-2 attende in una coda, prima di user-1's 20 lavori per rendere Schematics equamente disponibili
per user-1 e user-2.
Quando il lavoro entra nella coda in sospeso?
Di seguito sono riportate le attività del lavoro quando entra nella coda in sospeso.
- il lavoro richiede più tempo per essere completato. Verificare che sia stato specificato un tempo sufficiente per l'esecuzione del job.
- l'immagine utilizzata dall'esecuzione del lavoro non esiste. Verificare che i dettagli dell'immagine forniti esistano e che il nome sia specificato.
- I parametri della variabile di ambiente richiesti dal lavoro non sono specificati. Verificare che le variabili di ambiente siano definite.
- I comandi o gli argomenti passati al lavoro non sono validi. Verificare che gli indicatori argomento specificati siano corretti.
Timeout lavoro
I lavori Terraform come il piano, l'applicazione e l'eliminazione su uno spazio di lavoro non dovrebbero in genere impiegare più di poche ore per eseguire il provisioning o l'annullamento del provisioning delle risorse. Se si sta eseguendo il
provisioning di molte risorse contemporaneamente, il che richiede molte ore, si consiglia di suddividere le risorse in aree di lavoro differenti. Schematics limita il tempo di esecuzione di un lavoro a 24 ore. Dopo 24 ore i lavori vengono
terminati e il lavoro viene contrassegnato come STOPPED e l'area di lavoro mostra ACTIVE o INACTIVE.
Dopo 24 hours, viene inviato un segnale di interruzione per arrestare l'esecuzione del job. Viene fornito un periodo di tolleranza di 10 minutes per il completamento del comando. Se non viene completato in questo periodo
di tempo, viene inviato un segnale di interruzione e il lavoro viene terminato. Un aggiornamento Terraform viene eseguito dopo l'arresto del lavoro per garantire che il file di stato e altri dati vengano raccolti.
In un lavoro, vengono eseguiti più comandi come terraform init, terraform apply e terraform refresh. Se il lavoro va in timeout in un comando, tutti gli altri comandi ottengono solo il 10 minutes aggiuntivo da terminare. Alla fine di 10 minutes, ogni comando viene terminato.
Esempio: se un lavoro è bloccato per sempre su un'applicazione Terraform, quando il comando viene arrestato e se si esegue un aggiornamento. Se anche l'aggiornamento è bloccato, dopo 15 minutes, viene eseguito un comando kill.
I Terraform local exec e remote exec hanno un limite di tempo di 30 minutes e terminano l'esecuzione del lavoro se vengono superati.