이 문서에서는 작업의 실행 프로세스 및 만들기 옵션에 대해 설명합니다. Batch 작업을 사용하면Google Cloud에서 일괄 처리 워크로드를 실행할 수 있습니다. 작업의 구성요소와 Batch 사용의 기본 요건에 관한 자세한 내용은 Batch 시작하기를 참고하세요.
작업 만들기 및 실행 작동 방법
Batch를 사용하려면 워크로드와 해당 요구 사항을 지정하는 작업을 만든 다음 Batch에서 자동으로 이를 실행합니다.
다음 섹션에서 작업 생성 및 실행의 작동 방식을 자세하게 설명합니다.
- 작업 수명 주기: 생성부터 삭제에 이르기까지 작업이 진행되는 상태를 이해합니다.
- 작업 큐 및 예약: 작업 실행을 시작하는 데 걸리는 시간에 영향을 미치는 요인을 파악합니다.
- 작업 실행: 실행 중에 리소스에서 작업의 태스크가 실행되는 방법을 이해합니다.
작업 수명 주기
이 섹션에서는 작업의 수명 주기와 해당 태스크의 생성부터 삭제까지 설명합니다.
Batch에서 실행하려는 워크로드마다 다음과 같은 기본 프로세스를 수행합니다.
- 작업 만들기: 작업의 실행 가능 항목, 태스크, 기타 요구사항을 지정하여 실행할 워크로드를 정의합니다. 작업 생성에 대한 자세한 내용은 이 문서의 작업 생성 옵션 섹션에서 소개합니다.
- 작업 모니터링 및 문제 해결: 작업 생성을 완료하면 해당 작업이 지정된 리소스에서 자동으로 큐에 추가되고 예약 및 실행됩니다. 생성된 작업 또는 해당 태스크의 세부정보에서 현재 상태를 확인할 수 있습니다. 필요한 경우 작업을 취소하여 중지하거나 실행되지 않도록 할 수 있습니다. 작업이 실행되거나 완료된 후에도 로그를 사용하여 작업을 모니터링하고 분석할 수 있습니다. 작업이 실패하면 작업을 다시 만들기 전에 오류 메시지, 상태 이벤트 또는 로그를 사용하여 문제를 진단하고 해결할 수 있습니다.
- 작업 삭제 또는 내보내기: Batch의 작업 정보는 사용자 또는 Google Cloud 가 삭제할 때까지 계속 사용할 수 있습니다. 작업이 완료된 후 60일이 지나면Google Cloud 에서 자동으로 작업이 삭제됩니다. 그 전에 작업을 선택적으로 직접 삭제할 수도 있고, 정보를 보관해야 하는 경우 삭제되기 전에 작업 정보를 일괄 내보낼 수 있습니다. 다른 서비스에 저장된 작업에 관한 정보는 작업이 삭제될 때 영향을 받지 않으며 별도의 보관 정책이 적용됩니다. Google Cloud 예를 들어 작업 로그는 Cloud Logging 보관 정책에 따라 자동으로 보관 및 삭제됩니다.
작업을 만든 후 다음 상태로 진행됩니다.
- 큐에 추가됨(
QUEUED): 작업 요청이 수락되어 큐에서 대기 중입니다. 작업은 예약할 수 있을 때까지 프로젝트의 대기열에 남아 있습니다. 예약은 필요한 리소스를 사용할 수 있고 그에 앞서 작업을 평가할 때 이루어집니다. 그러나 작업이 비활성화되지 않도록 하려면 작업이 대기열의 최대 대기 시간을 초과하면 Batch가 작업을 예약하는 대신 자동으로 작업을 실패시킵니다. - 예약됨(
SCHEDULED): 작업이 실행을 시작할 큐에서 선택되었으며 리소스가 할당됩니다. 실행 중(
RUNNING): 작업 리소스가 성공적으로 생성되었으며 해당 태스크 실행을 시작할 수 있습니다.작업이 실행되면 각 태스크가 다음 상태를 거쳐 진행됩니다.
- 대기 중(
PENDING): 태스크는 VM이 실행될 때까지 대기합니다. - 할당됨 (
ASSIGNED): 태스크를 실행할 VM이 할당되었습니다. - 실행 중(
RUNNING): 태스크가 VM에서 실행됩니다. 태스크는 다음 상태 중 하나로 완료됩니다.
성공(
SUCCEEDED): 각 실행 가능 항목이 다음 조건 중 하나를 충족하여 태스크가 성공함.- 실행 가능 항목이 성공함(종료 코드 0 반환)
- 실행 가능 항목이 실패했지만(0이 아닌 종료 코드 반환) 비중요 실행 가능 항목이었음(실행 가능 항목의
ignoreExitStatus필드를 사용 설정함) - 실행 가능 항목이 완료되지 않았지만 백그라운드 실행 가능 항목이었음(실행 가능 항목의
background필드를 사용 설정함)
실패(
FAILED): 하나 이상의 실행 가능한 항목이 위 조건을 충족하지 않아 태스크가 실패하고 실행이 중지됨
작업이 완료되기 전에 작업의 리소스가 삭제됩니다.
- 대기 중(
작업은 다음 상태 중 하나로 완료됩니다.
- 성공(
SUCCEEDED): 모든 태스크가 성공하여 작업이 성공함 - 실패(
FAILED): 태스크 중 하나 이상이 실패하여 작업이 실패하고 실행이 중지됨 - 취소됨 (
CANCELLED): 작업이 성공 또는 실패하기 전에 사용자가 작업을 취소함
- 성공(
자세한 내용은 참고 문서의 작업 상태 및 태스크 상태를 참조하세요.
작업 큐 및 예약
일반적으로 작업이 작고 필요한 일반 리소스가 적을수록 작업을 더 빠르게 실행하고 완료할 가능성이 높아집니다. 일반적으로 매우 작고 최소한의 리소스를 사용하는 Batch 문서 예시 작업의 경우 몇 분 이내에 실행이 완료되는 것을 볼 수 있습니다.
특히 작업이 큐 및 예약을 완료하는 데 걸리는 시간은 다음 요인에 따라 작업마다, 시간마다 다릅니다.
사용자 지정 작업 기본 요건: 작업을 예약하기 전에 충족해야 하는 기본 요건입니다.
기본적으로 작업에는 기본 요건이 없습니다. 원하는 경우 하나 이상의 기존 작업이 성공하거나 실패할 때까지 작업을 예약할 수 없다고 지정할 수 있습니다. 자세한 내용은 종속 작업 예약(미리보기)을 참고하세요.
작업 우선순위: 프로젝트의 다른 작업의 우선순위와 관련된 작업 우선순위입니다.
선택적으로 gcloud CLI에
--priority플래그 또는priorityJSON 필드를 포함하여 작업 우선순위를 지정할 수 있습니다. 작업 우선순위를0(가장 낮은 우선순위)에서99(가장 높은 우선순위) 사이의 숫자로 정의할 수 있습니다. 우선순위를 높게 설정하면 프로젝트에서 우선순위가 낮은 작업보다 작업이 더 빨리 실행될 수 있습니다.작업의 우선순위를 구성하지 않으면 기본적으로 가장 낮은 우선순위인
0을 사용합니다. 큐에 추가된 두 작업의 우선순위가 같은 경우 먼저 생성된 작업의 우선순위가 더 높습니다.작업 리소스 가용성: 허용된 위치 내에서 작업에 필요한 리소스의 사용 가능 여부입니다.
첫째, 해당 위치에서 제공되지 않는 리소스를 지정하면 작업이 실행될 수 없습니다. 이 경우 영역 가용성 오류와 함께 작업이 실패합니다.
두 번째로, 리소스 가용성 오류로 인해 필요한 리소스 중 하나라도 현재 요구에 비해 용량이 부족한 경우 작업이 지연되거나 실패할 가능성이 높습니다. 결과적으로 더 적은 수의 보다 일반적인 리소스가 필요하고 리전의 모든 영역에서 작업 실행을 제한하지 않으면 작업이 더 빨리 실행될 수 있습니다.