Arrêt ou arrêt de travaux en cours d'exécution

Après avoir appelé un travail d'espace de travail, tel qu'un plan, un apply ou un destroy, vous pouvez arrêter le travail en cours d'exécution ou la mise à disposition des ressources. Lors de l'arrêt ou de l'annulation d'un travail à exécution longue, il est conseillé de vérifier d'abord les journaux de travail pour déterminer si le travail est réellement bloqué et s'il doit être arrêté, ou s'il exécute des opérations à exécution longue qui prennent du temps à s'exécuter.

Schematics propose plusieurs options permettant aux utilisateurs d' (gracefully) stop, force-stop ou terminate le processus en cours d'exécution, en fonction de l'urgence et de l'impact de l'opération d'arrêt.

Arrêter les types de travail

Le tableau fournit la liste des types de travaux d'arrêt:

Types d'arrêt de travail
Types Description
stop Envoie un signal d'interruption à la commande Terraform en cours d'exécution. Cette opération effectue la même fonction que lors de l'exécution de Terraform en tant que version autonome, où un interrupt est envoyé à l'aide de cntl-C ou d'une version similaire à Terraform. Des signaux d'interruption peuvent être envoyés plusieurs fois pour avertir Terraform de l'arrêt. Terraform tente d'arrêter la commande en cours d'exécution (planifier, appliquer, supprimer) une fois que les opérations de ressource en cours d'exécution ont été terminées et nettoyées. Schematics attend la fin de l'exécution de la commande. Une fois la commande arrêtée ou terminée, les fichiers d'état et les fichiers journaux sont collectés et sauvegardés.
force-stop Envoie un signal d'arrêt forcé à la commande Terraform en cours d'exécution. Utilisez cette option dans le cas où vous voulez arrêter la commande Terraform après avoir constaté que la commande d'arrêt (interruptions) n'arrête pas la commande. Une commande « force-stop » peut être envoyée autant de fois que souhaité jusqu’à ce que la commande soit exécutée et que la tâche s’arrête. S'il est capable de répondre au signal d'arrêt, Terraform arrête immédiatement les opérations de commande et de ressource en cours d'exécution et effectue un nettoyage. Une fois la commande arrêtée ou terminée, les fichiers d'état et les fichiers journaux sont collectés et sauvegardés.
terminate Si les opérations précédentes échouent, l'arrêt immédiat arrête le travail Schematics. Le travail est marqué comme STOPPED et l'espace de travail est déverrouillé. Toutes les copies précédemment sauvegardées des journaux et de statefile sont conservées. Lorsqu'un travail est interrompu, celui-ci est arrêté sans que les fichiers ne soient récupérés séparément à la fin. Cette option peut entraîner la perte de données du fichier journal et des dernières mises à jour de statefile et doit être utilisée avec précaution.

Jusqu'à l'arrêt du travail, vous pouvez envoyer un nombre illimité de ces signaux d'arrêt. Généralement, vous ne devez pas envoyer plus de trois signaux. Si le Terraform ne répond pas aux requêtes « stop » (signaux d'interruption), vous pouvez toujours utiliser force-stop. Si force-stop ne répond pas en raison d'un problème lié au travail, vous pouvez toujours terminate le travail pour bloquer.

Annulation d'un travail

Si le travail se trouve dans l'état « pending », toute demande d'arrêt, quelle qu'elle soit, entraîne l'annulation du travail. Le bouton « Cancel » (Modifier) s'affiche si la tâche est en état « pending » (En attente de validation); dans ce cas, il suffit de l'annuler. L'annulation supprime le travail de la file en attente. Si l'exécution plan, apply ou destroy est démarrée entre-temps, ce qui devient un signal d'arrêt (interruption) de Terraform.

Arrêt d'un travail en cours d'exécution à l'aide de l'interface utilisateur

Vous pouvez suivre ces étapes pour arrêter une tâche en cours d'exécution dans l'espace de travail à l'aide de la console.

  1. Dans le tableau de bord Espaces de travail, sélectionnez l'espace de travail associé au travail en cours d'exécution.

    Vous pouvez arrêter ou annuler le travail en cours d'exécution lors d'un plan, d'une application ou d'une exécution de destruction.

  2. Cliquez sur l'onglet « Tâche » pour afficher les boutons « Arrêter », « Arrêt forcé », « Terminer » et « Annuler ».

Options d'arrêt de travail
Bouton Description
Arrêter Supprime le travail de la file en attente, s'il est à l'état en attente. Sinon, envoie un signal d'interruption à la commande Terraform.
Forcer l'arrêt des Envoie un signal d'arrêt forcé à la commande Terraform en cours d'exécution.
Terminer Met fin à la tâche « Schematics », la marque comme « ARRÊTÉE » et déverrouille l'espace de travail. Cette commande doit être utilisée avec précaution car elle peut entraîner une perte de données.
Annuler Le bouton « Cancel » (Annuler la tâche) s'affiche si la tâche est à l'état « pending » (En attente de traitement); elle peut alors être simplement annulée. L'annulation supprime le travail de la file en attente. Si l'exécution plan, apply ou destroy est démarrée dans l'intervalle, cette fin devient un signal d'interruption pour l'exécution de Terraform.
  1. Entrez votre nom <option> dans la zone de texte Entrer l'option pour confirmer.
  2. Cliquez sur le bouton Confirmer l'option.

Arrêt d'un travail en cours d'exécution à l'aide de l'interface CLI

Arrête une tâche en cours d'exécution dans l'espace de travail d' IBM Cloud Schematics.

Syntaxe

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

Options de commande

Schematics indicateurs d'arrêt de travail
Indicateur Obligatoire / facultatif Description
--id ou -i Obligatoire ID de l'espace de travail à mettre à jour.
--job-id ou --jid Obligatoire ID du travail.
--stop Facultatif Supprime le travail de la file en attente, s'il est à l'état en attente. Sinon, envoie un signal d'interruption à la commande Terraform.
--force-stop ou --fs Facultatif Envoie un signal d'arrêt forcé à l'exécution de Terraform dans le moteur qui tente d'arrêter immédiatement l'exécution.
--terminate ou -t Facultatif Force l'arrêt subit du moteur, marque le travail comme arrêté et déverrouille votre espace de travail. Les données ne sont pas enregistrées lorsque cet indicateur est activé.
--no-prompt Facultatif Définissez cet indicateur pour exécuter la commande sans mode interactif.

Exemple

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>

Arrêt d'un travail en cours d'exécution via l'API

Vous pouvez utiliser les commandes CURL suivantes pour arrêter un travail en cours d'exécution pour l'espace de travail IBM Cloud Schematics.

Syntaxe d'arrêt des travaux en cours d'exécution

  1. Configuration de votre client REST pour exécuter l'API Schematics.

  2. Utilisez la syntaxe et l'exemple fournis pour arrêter la tâche en cours d'exécution.

    Syntaxe

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

    Exemple

    curl -X DELETE https://schematics.cloud.ibm.com/v2/jobs/{job_id}?signal=interrupt -H "Authorization: <iam_token>"
    
  3. Utilisez l'exemple pour force-stop le travail en cours d'exécution.

    Exemple

    curl -X DELETE https://schematics.cloud.ibm.com/v1/workspaces/<wks_id>/actions/{job_id}?signal=force-stop -H "Authorization: <iam_token>"
    
  4. Utilisez l'exemple pour terminate le travail en cours d'exécution.

    Exemple

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

    Pour plus d'informations sur l'arrêt d'un job en cours d'exécution, consultez l'API « Arrêter et supprimer un job en cours d'exécution ».

Examen des détails de travail Schematics

Utilisez la page des travaux Schematics dans la console pour rechercher l'historique de toutes les activités Schematics, telles que le téléchargement du template, du plan et les actions apply, et afficher les journaux des travaux. Les travaux sont créés lorsque vous exécutez vos modèles. Vous pouvez également afficher le nombre de ressources que contient le plan ou les travaux apply ayant le statut added, modified ou destroyed. Pour plus d'informations sur le traitement de la file d'attente des tâches, consultez la section « Processus d'exécution de la file d'attente des tâches de l' Schematics ».

Le journal des travaux peut contenir un message tel que :

  • Activity triggered. En attente des journaux. Cela signifie que le travail est en attente et qu'il doit encore être traité.

  • Votre travail a été soumis et est en file d'attente, à la position x sur y. Ici x est la position de votre travail dans la file d'attente en attente et y est un total des travaux en attente. Les ressources disponibles dans le système backend Schematics sont distribuées de manière égale aux travaux en attente. Si vous exécutez un nombre considérable d'emplois, vous pouvez afficher l'augmentation de position ainsi que le total.