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.

Solution

Important : avant d'effectuer les étapes suivantes, installez l'interface de ligne de commande AWS (AWS CLI).

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 ?