#!/bin/bash

if [[ -z $1 ]]
then
  echo "Usage: $0 <job queue name>"
  exit 1
fi


QNAME=$1


echo "QUEUE $QNAME - SUBMITTED JOBS:"

aws batch list-jobs --job-queue $QNAME --job-status SUBMITTED | grep jobId | sed -e 's/[",]//g' | awk '{ print $2 }' | while read x; do
  echo "cancel submitted job w/ id $x ..."
  aws batch cancel-job --job-id $x --reason nada
#  aws batch cancel-job --job-id $x --reason nada &
done

#wait


echo "QUEUE $QNAME - PENDING JOBS:"

aws batch list-jobs --job-queue $QNAME --job-status PENDING | grep jobId | sed -e 's/[",]//g' | awk '{ print $2 }' | while read x; do
  echo "cancel pending job w/ id $x ..."
  aws batch cancel-job --job-id $x --reason nada
#  aws batch cancel-job --job-id $x --reason nada &
done

#wait


echo "QUEUE $QNAME - RUNNABLE JOBS:"

aws batch list-jobs --job-queue $QNAME --job-status RUNNABLE | grep jobId | sed -e 's/[",]//g' | awk '{ print $2 }' | while read x; do
  echo "cancel runnable job w/ id $x ..."
  aws batch cancel-job --job-id $x --reason nada
#  aws batch cancel-job --job-id $x --reason nada &
done

#wait

#

echo "QUEUE $QNAME - STARTING JOBS:"

aws batch list-jobs --job-queue $QNAME --job-status STARTING | grep jobId | sed -e 's/[",]//g' | awk '{ print $2 }' | while read x; do
  echo "terminate starting job w/ id $x ..."
  aws batch terminate-job --job-id $x --reason nada
#  aws batch terminate-job --job-id $x --reason nada &
done

#wait


echo "QUEUE $QNAME - RUNNING JOBS:"

aws batch list-jobs --job-queue $QNAME --job-status RUNNING | grep jobId | sed -e 's/[",]//g' | awk '{ print $2 }' | while read x; do
  echo "terminate running job w/ id $x ..."
  aws batch terminate-job --job-id $x --reason nada
#  aws batch terminate-job --job-id $x --reason nada &
done

#wait
