AWS Batch의 작업 대기열에서 모든 RUNNABLE 작업을 취소하려면 어떻게 해야 합니까?

최종 업데이트 날짜: 2021년 7월 21일

작업 대기열에서 RUNNABLE 상태에 있는 모든 AWS Batch 작업을 취소하고 싶습니다. 어떻게 해야 하나요?

간략한 설명

AWS 관리 콘솔을 사용하면 한 번에 하나의 작업 대기열에서 하나의 AWS Batch 작업만 취소하거나 종료할 수 있습니다. 작업 대기열에서 2개 이상의 AWS Batch 작업을 취소하거나 종료하려면 AWS Command Line Interface(AWS CLI)를 사용해야 합니다.

작업 대기열에서 RUNNABLE 상태에 있는 모든 작업을 취소하려면 다음 절차를 수행합니다.

참고: 다음 절차는 Linux 또는 macOS 환경에서만 사용할 수 있습니다.

해결 방법

참고: AWS CLI 명령을 실행할 때 오류가 발생하는 경우 AWS CLI의 최신 버전을 사용하고 있는지 확인하세요.

1.    다음 list-jobs 명령을 실행하여 RUNNABLE 상태에 있는 작업 대기열의 모든 작업 목록을 반환합니다.

중요: myJOBQueue를 작업 대기열 이름으로 바꿉니다.

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

다음은 RUNNABLE 상태에서 멈춘 세 개의 작업을 포함하는 list-jobs 명령 출력의 예입니다.

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

2.    작업 대기열에서 RUNNABLE 상태에서 중단된 모든 AWS Batch 작업을 취소하려면 다음 bash 스크립트를 실행합니다.

중요: myJOBQueue를 작업 대기열 이름으로 바꿉니다.

작업 취소 bash 스크립트 예제

#! /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

참고: RUNNING 상태의 작업을 포함한 모든 작업을 작업 대기열에서 종료하려면 다음 bash 스크립트를 대신 사용할 수 있습니다.

작업 대기열의 모든 AWS Batch 작업 종료 및 취소 bash 스크립트 예제

#! /bin/bash
for state in SUBMITTED PENDING RUNNABLE STARTING RUNNING
do 
    for job in $(aws batch list-jobs --job-queue myJOBQueue --job-status $state --output text --query jobSummaryList[*].[jobId])
    do 
        echo -ne "Stopping job $job in state $state\t"
        aws batch terminate-job --reason "Terminating job." --job-id $job && echo "Done." || echo "Failed."
    done
done

중요: 이 bash 스크립트를 실행하면 대기열에서 STARTING 상태로 진행되지 않은 모든 작업이 취소됩니다.


이 문서가 도움이 되었나요?


결제 또는 기술 지원이 필요하세요?