종속 작업 예약

이 문서에서는 특정 작업이 성공하거나 실패할 때까지 예약되지 않은 작업을 만들고 실행하는 방법을 설명합니다. 작업 상태에 관한 자세한 내용은 작업 만들기 및 실행 개요를 참고하세요.

리소스 요구사항이 다양한 워크로드가 있는 경우 종속 작업을 사용하여 각각 별도의 VM을 사용하는 자동화된 작업 체인을 만드는 것이 좋습니다. 예를 들어 수요가 적은 작업(예: 데이터 준비)과 컴퓨팅 집약적인 작업 (예: 데이터 처리)에 사용되는 VM 유형을 구분합니다. 종속 작업을 사용하여 리소스 사용을 최적화하면 비용과 할당량 사용량을 줄일 수 있습니다.

시작하기 전에

  1. Batch를 사용한 적이 없으면 Batch 시작하기를 검토하고 프로젝트 및 사용자 기본 요건을 완료하여 Batch를 사용 설정하세요.
  2. 작업을 만드는 데 필요한 권한을 얻으려면 관리자에게 다음 IAM 역할을 부여해 달라고 요청하세요.

    역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.

    커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.

제한사항

종속 작업에는 다음과 같은 제한사항이 있습니다.

  • 종속 작업에는 최대 4개의 종속 항목이 있을 수 있습니다. 각 종속 항목은 고유한 작업 이름과 다음 필수 상태 중 하나를 포함해야 합니다.

    • SUCCEEDED: 성공
    • FAILED: 실패함
    • FINISHED: 성공 또는 실패
  • 종속 작업을 만들 때는 모든 종속 작업이 있어야 합니다.

  • 종속 작업은 각 종속 항목 작업이 필요한 상태로 전환될 때까지 예약됨 (SCHEDULED) 상태로 전환할 수 없습니다. 종속 항목 작업이 필요한 상태로 전환할 수 없게 되면 종속 작업은 예약되지 않고 즉시 실패합니다.

종속 작업 만들기

다음 메서드를 사용하여 종속된 작업을 만들 수 있습니다.

작업이 종속 항목임을 지정하려면 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"
      }
    }
  ]
}

다음 단계