Arresto o chiusura dei lavori in esecuzione

Dopo aver richiamato un lavoro dello spazio di lavoro, come un plan, un apply o un destroy, è possibile arrestare il lavoro in esecuzione o arrestare il provisioning delle risorse. Quando si arresta o si annulla un lavoro di lunga durata, è consigliabile prima controllare i log del lavoro per determinare se il lavoro è effettivamente bloccato e deve essere arrestato o se sta eseguendo operazioni di lunga durata che richiedono tempo per essere completate.

Schematics offre una serie di opzioni che consentono agli utenti di (gracefully) stop, force-stop o terminate il processo in esecuzione, in base all'urgenza e all'impatto dell'operazione di arresto.

Arresta tipi di lavoro

La tabella fornisce l'elenco dei tipi di lavori di arresto:

Tipi di arresto lavoro
Tipi Descrizione
stop Invia un segnale di interruzione al comando Terraform in esecuzione. Esegue la stessa funzione di quando si esegue Terraform autonomo, dove un interrupt viene inviato utilizzando cntl-C o simile a Terraform. I segnali di interruzione possono essere inviati più volte per avvisare Terraform di fermarsi. Terraform tenta di arrestare il comando in esecuzione (plan, apply, delete) dopo che tutte le operazioni delle risorse in esecuzione sono state completate e ripulite. Schematics attende il completamento del comando. Una volta arrestato o terminato il comando, i file di stato e di log vengono raccolti e salvati.
force-stop Invia un segnale di interruzione al comando Terraform in esecuzione. Utilizzare questa opzione nel caso in cui si desidera interrompere il comando Terraform dopo aver visto che il comando stop (interrupt) non sta arrestando il comando. Un force-stop può essere inviato tutte le volte che lo si desidera fino a che il comando viene completato e il job viene arrestato. Se è in grado di rispondere al segnale kill, Terraform arresta immediatamente il comando in esecuzione e le operazioni di risorsa e ripulisce. Una volta arrestato o terminato il comando, i file di stato e i file di log vengono raccolti e salvati.
terminate Se le operazioni precedenti non riescono, termina immediatamente il lavoro Schematics. Il lavoro è contrassegnato come STOPPED e lo spazio di lavoro è sbloccato. Le copie precedentemente salvate dei log e statefile vengono conservate. Quando un lavoro viene terminato, il lavoro viene interrotto senza raccogliere i file separatamente alla fine. Questa opzione può causare la perdita di dati del file di log e degli aggiornamenti statefile più recenti e deve essere utilizzata con attenzione.

Fino a quando il lavoro non si arresta, è possibile inviare un numero qualsiasi di questi segnali di arresto. In genere, non si devono inviare più di tre segnali. Se Terraform non risponde alle richieste stop (segnali di interruzione), puoi sempre utilizzare force-stop. Se force-stop non risponde a causa di problemi nel lavoro, è sempre possibile terminate bloccare il lavoro.

Annullamento di un lavoro

Se il lavoro si trova in uno stato pending, qualsiasi tipo di richiesta di arresto provoca l'annullamento del lavoro. Il pulsante Cancel viene visualizzato se il lavoro è in uno stato pending, quando può essere semplicemente annullato. Annulla rimuove il lavoro dalla coda in sospeso. Se l'esecuzione plan, apply o destroy viene avviata nel frattempo, che diventa un segnale di arresto (interruzione) a Terraform.

Arresto di un lavoro in esecuzione utilizzando la UI

Puoi seguire questa procedura per arrestare un lavoro dello spazio di lavoro in esecuzione utilizzando la console.

  1. Dal dashboard Aree di lavoroselezionare lo spazio di lavoro correlato al lavoro in esecuzione.

    È possibile arrestare o annullare il lavoro in esecuzione durante un'esecuzione di un piano, di un'applicazione o di una distruzione.

  2. Fare clic sulla scheda Lavoro per visualizzare i pulsanti Arresta, Forza arresto, Termina e Annulla.

Opzioni di arresto lavoro
Pulsante Descrizione
Arresta Rimuove il lavoro dalla coda in sospeso, se si trova nello stato in sospeso. Altrimenti, invia un segnale di interruzione al comando Terraform.
Forza arresto Invia un segnale di interruzione al comando Terraform in esecuzione.
Termina Termina il lavoro Schematics e contrassegna il lavoro come ARRESTATO e sblocca lo spazio di lavoro. Questo comando deve essere utilizzato con attenzione poiché può causare la perdita di dati.
Annulla Il pulsante Cancel viene visualizzato se il lavoro è nello stato pending, quando può essere semplicemente annullato. Annulla rimuove il lavoro dalla coda in sospeso. Se l'esecuzione di plan, apply o destroy viene avviata nel frattempo, questo diventa un segnale di interruzione per l'esecuzione di Terraform.
  1. Immettere il nome <option> in Immettere l'opzione per confermare la casella di testo.
  2. Fare clic su Conferma opzione.

Arresto di un lavoro in esecuzione utilizzando la CLI

Interrompe un processo in esecuzione nell'area di lavoro di IBM Cloud Schematics.

Sintassi

ibmcloud schematics workspace job stop --id WORKSPACE_ID --job-id JOB_ID [--stop] [--force-stop] [--terminate] [--no-prompt]

Opzioni comando

Schematics indicatori di arresto lavoro
Indicatore Obbligatorio / Facoltativo Descrizione
--id oppure -i Obbligatorio L'ID spazio di lavoro da aggiornare.
--job-id oppure --jid Obbligatorio L'ID del processo.
--stop Facoltativo Rimuove il lavoro dalla coda in sospeso, se si trova nello stato in sospeso. Altrimenti, invia un segnale di interruzione al comando Terraform.
--force-stop oppure --fs Facoltativo Invia un segnale di interruzione all'esecuzione di Terraform nel motore, nel tentativo di arrestarne immediatamente l'esecuzione.
--terminate oppure -t Facoltativo Interrompe bruscamente il motore, contrassegna il lavoro come arrestato e sblocca lo spazio di lavoro. I dati non vengono salvati utilizzando questo indicatore.
--no-prompt Facoltativo Impostare questo indicatore per eseguire il comando senza una modalità interattiva.

Esempio

ibmcloud schematics workspace job stop --id <WORKSPACE_ID> --stop --job-id <JOB_ID>
ibmcloud schematics workspace job stop --id <WORKSPACE_ID> --force-stop --job-id <JOB_ID>
ibmcloud schematics workspace job stop --id <WORKSPACE_ID> --terminate --job-id <JOB_ID>

Arresto di un lavoro in esecuzione tramite API

È possibile utilizzare i seguenti comandi di cURL per interrompere un processo in esecuzione nell'area di lavoro IBM Cloud Schematics.

Sintassi per arrestare i lavori in esecuzione

  1. Configura il client REST per eseguire l'API Schematics.

  2. Utilizzare la sintassi e l'esempio per arrestare il lavoro in esecuzione.

    Sintassi

    curl -X DELETE https://schematics.cloud.ibm.com/v1/workspaces/<wks_id>/actions/{job_id}?signal=interrupt -H "Authorization: <iam_token>"
    

    Esempio

    curl -X DELETE https://schematics.cloud.ibm.com/v2/jobs/{job_id}?signal=interrupt -H "Authorization: <iam_token>"
    
  3. Utilizzare l'esempio per force-stop il lavoro in esecuzione.

    Esempio

    curl -X DELETE https://schematics.cloud.ibm.com/v1/workspaces/<wks_id>/actions/{job_id}?signal=force-stop -H "Authorization: <iam_token>"
    
  4. Utilizzare l'esempio per terminate il lavoro in esecuzione.

    Esempio

    curl -X DELETE https://schematics.cloud.ibm.com/v1/workspaces/<wks_id>/actions/{job_id}?signal=terminate -H "Authorization: <iam_token>"
    

    Per ulteriori informazioni sull'arresto del lavoro in esecuzione, vedi l'API Arresta ed elimina il lavoro in esecuzione.

Revisione dei dettagli del lavoro Schematics

Utilizza la pagina del lavoro Schematics nella console per trovare la cronologia di tutte le attività Schematics, come il download dei tuoi template, plan, apply e per vedere i log dei lavori. I lavori vengono creati quando si eseguono i modelli. È inoltre possibile visualizzare il conteggio delle risorse che si trovano nello stato plan o apply lavori che si trovano nello stato aggiunto, modificato o eliminato. Per ulteriori informazioni sul processo della coda lavori, vedi Processo di esecuzione della coda lavori Schematics.

Nel log del lavoro è possibile visualizzare un messaggio come:

  • Attività attivata. In attesa dei log. Ciò significa che il lavoro è in stato In sospeso e deve essere ancora elaborato.

  • Il lavoro è stato inoltrato ed è in coda, nella posizione x out of y. Qui x è la posizione del proprio lavoro nella coda in sospeso e y è un totale di lavori in sospeso. Le risorse disponibili nel backend Schematics vengono equamente distribuite ai job in sospeso. Nel caso in cui si stia eseguendo un numero elevato di lavori, è possibile visualizzare l'aumento di posizione insieme al totale.