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

Date de la dernière mise à jour : 19/08/2020

Je souhaite annuler ou mettre fin à toutes les tâches AWS Batch de ma file d'attente de tâches en même temps.

Brève description

Dans AWS Management Console, vous ne pouvez pas annuler ou mettre fin à plusieurs tâches d’une file d'attente de tâches en même temps.

Remarque : la solution suivante concerne les environnements Linux ou MacOS.

Résolution

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

1.    Dans l'interface de ligne de commande AWS, répertoriez les tâches de votre file d'attente de tâches dont l'état est RUNNABLE :

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

Remarque : remplacez myJOBQueue par votre file d'attente de tâches.

Si vous avez trois tâches bloquées à l'état RUNNABLE, la sortie de commande ressemble à ce qui suit :

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

2.    Créez un script Bash pour annuler ou mettre fin à vos tâches. Reportez-vous aux exemples suivants.

Script pour annuler des 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

Script pour arrêter des 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 ?