Comment puis-je annuler ou arrêter toutes les tâches RUNNABLE de ma file d'attente de tâches dans AWS Batch ?

Dernière mise à jour : 30-06-2021

Je souhaite annuler ou arrêter à toutes les tâches AWS Batch de ma file d'attente de tâches en même temps. Comment puis-je procéder ?

Brève description

La console de gestion AWS vous permet d'annuler ou d’arrêter une seule tâche AWS Batch à partir d'une file d'attente de tâches à la fois. Pour annuler ou arrêter plusieurs tâches AWS Batch de votre file d'attente de tâches, vous devez utiliser l’ AWS Command Line Interface (AWS CLI).

Vous pouvez utiliser l'exemple de procédure suivant dans les environnements Linux ou macOS.

Solution

Remarque : si vous recevez des erreurs lors de l'exécution des commandes AWS CLI, assurez-vous d'utiliser la version la plus récente d'AWS CLI.

1.    Renvoyez une liste de toutes les tâches de votre file d'attente de tâches qui sont dans l'état RUNNABLE en exécutant la commande list-jobs suivante :

Important : remplacez myJOBQueue par le nom de votre file d'attente de tâches.

$aws batch list-jobs --job-queue myJOBQueue --job-status runnable --output text --query jobSummaryList[*].[jobId]

Voici un exemple de sortie de commande list-jobs qui inclut trois tâches bloquées à l'état RUNNABLE  :

----------------------------------------------------------------------------------------
"0cffddb0-8bfa-4ba4-86ba-c5cad59e4529"
"884d8bdf-6192-4d4c-ac85-c51093460a01"
"236670e3-127a-4fe1-afd6-3f21cf1fe02e"
----------------------------------------------------------------------------------------

2.    Pour annuler ou arrêter les tâches bloquées à l'état RUNNABLE , utilisez l'un des exemples de scripts bash suivants :

Important : remplacez myJOBQueue par le nom de votre file d'attente de tâches.

Exemple de script bash pour l'annulation de tâches

#! /bin/bash
for i in $(aws batch list-jobs --job-queue myJOBQueue --job-status runnable --output text --query jobSummaryList[*].[jobId])
do
  echo "Cancel Job: $i"
  aws batch cancel-job --job-id $i --reason "Cancelling job."
  echo "Job $i canceled"
done

Exemple de script bash pour l’arrêt de tâches

#! /bin/bash
for i in $(aws batch list-jobs --job-queue myJOBQueue --job-status running --output text --query jobSummaryList[*].[jobId])
do
echo "Deleting Job: $i"
aws batch terminate-job --job-id $i --reason "Terminating job."
echo "Job $i deleted"
done

Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?