이 문서에서는 특정 작업이 성공하거나 실패할 때까지 예약되지 않은 작업을 만들고 실행하는 방법을 설명합니다. 작업 상태에 관한 자세한 내용은 작업 만들기 및 실행 개요를 참고하세요.
리소스 요구사항이 다양한 워크로드가 있는 경우 종속 작업을 사용하여 각각 별도의 VM을 사용하는 자동화된 작업 체인을 만드는 것이 좋습니다. 예를 들어 수요가 적은 작업(예: 데이터 준비)과 컴퓨팅 집약적인 작업 (예: 데이터 처리)에 사용되는 VM 유형을 구분합니다. 종속 작업을 사용하여 리소스 사용을 최적화하면 비용과 할당량 사용량을 줄일 수 있습니다.
시작하기 전에
- Batch를 사용한 적이 없으면 Batch 시작하기를 검토하고 프로젝트 및 사용자 기본 요건을 완료하여 Batch를 사용 설정하세요.
-
작업을 만드는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.
-
프로젝트에 대한 Batch 작업 편집자(
roles/batch.jobsEditor
) -
기본적으로 기본 Compute Engine 서비스 계정인 작업의 서비스 계정에 대한 서비스 계정 사용자(
roles/iam.serviceAccountUser
)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
-
프로젝트에 대한 Batch 작업 편집자(
제한사항
종속 작업에는 다음과 같은 제한사항이 있습니다.
종속 작업에는 최대 4개의 종속 항목이 있을 수 있습니다. 각 종속 항목은 고유한 작업 이름과 다음 필수 상태 중 하나를 포함해야 합니다.
SUCCEEDED
: 성공FAILED
: 실패함FINISHED
: 성공 또는 실패
종속 작업을 만들 때는 모든 종속 작업이 있어야 합니다.
종속 작업은 각 종속 항목 작업이 필요한 상태로 전환될 때까지 예약됨 (
SCHEDULED
) 상태로 전환할 수 없습니다. 종속 항목 작업이 필요한 상태로 전환할 수 없게 되면 종속 작업은 예약되지 않고 즉시 실패합니다.
종속 작업 만들기
다음 메서드를 사용하여 종속된 작업을 만들 수 있습니다.
- Google Cloud CLI의 경우
gcloud alpha batch jobs submit
명령어를 사용합니다. - Batch API의 경우 v1alpha
jobs.create
메서드를 사용합니다.
작업이 종속 항목임을 지정하려면 JSON 파일의 기본 본문에 키-값 쌍으로 지정된 하나 이상의 종속 항목을 지원하는 dependencies[].items
필드를 포함합니다.
"dependencies": [
{
"items": {
"DEPENDENCY_JOB_NAME": "REQUIRED_STATE"
}
}
]
다음을 바꿉니다.
DEPENDENCY_JOB_NAME
: 종속 작업의 이름입니다. 이 종속 작업을 예약하려면 먼저 필요한 상태에 도달해야 합니다.REQUIRED_STATE
: 상응하는 종속 항목 작업에 필요한 상태로,SUCCEEDED
,FAILED
또는FINISHED
여야 합니다.
예를 들어 종속 항목이 3개인 종속 작업에는 다음과 유사한 JSON 구성 파일이 있을 수 있습니다.
{
"taskGroups": [
{
"taskSpec": {
"runnables": [
{
"script": {
"text": "echo Hello World! This is task $BATCH_TASK_INDEX."
}
}
]
},
"taskCount": 3
}
],
"dependencies": [
{
"items": {
"DEPENDENCY_JOB_NAME_1": "REQUIRED_STATE_1",
"DEPENDENCY_JOB_NAME_2": "REQUIRED_STATE_2",
"DEPENDENCY_JOB_NAME_3": "REQUIRED_STATE_3"
}
}
]
}
다음 단계
- 작업을 만들거나 실행하는 데 문제가 있는 경우 문제 해결을 참조하세요.
- 작업 및 태스크 보기에 대해 자세히 알아보기
- 작업 만들기 옵션 자세히 알아보기