권장사항 및 제한사항

BatchJobService를 사용할 때 다음 가이드라인을 고려하세요.

처리량 개선

  • 다수의 작은 작업보다 큰 작업이 적은 것을 선호합니다.

  • 작업 유형별로 업로드된 작업을 정렬합니다. 예를 들어 작업에 캠페인, 광고그룹, 광고그룹 기준을 추가하는 작업이 포함된 경우 모든 캠페인 작업이 먼저 오고 그다음에 모든 광고그룹 작업, 마지막으로 모든 광고그룹 기준 작업이 되도록 업로드 작업을 정렬합니다.

  • 동일한 유형의 작업 내에서 상위 리소스별로 그룹화하면 성능이 향상될 수 있습니다. 예를 들어 일련의 AdGroupCriterionOperation 객체가 있는 경우 서로 다른 광고그룹의 광고그룹 기준에 영향을 미치는 작업을 혼합하는 것보다 광고그룹별로 작업을 그룹화하는 것이 더 효율적일 수 있습니다.

동시 실행 문제 방지

  • 동일한 계정에 대해 동시 작업을 여러 개 제출하는 경우 동일한 객체에서 작업이 동시에 실행될 가능성을 낮추면서 작업 크기는 크게 유지하세요. 동일한 객체 집합을 변경하려고 시도하는 완료되지 않은 많은 작업 (RUNNING 상태)은 교착 상태에 이르면 심각한 속도 저하 및 작업 실패로 이어질 수 있습니다.

  • 동일한 객체를 변경하는 작업을 여러 개 제출하지 마세요. 결과를 예측할 수 없을 수 있습니다.

최적의 결과 검색

  • 작업 상태를 너무 자주 폴링하면 비율 제한에 도달할 위험이 있습니다.

  • 페이지당 1,000개 이상의 결과를 검색하지 마세요. 로드나 기타 요인으로 인해 서버는 이보다 적은 수의 응답을 반환할 수 있습니다.

  • 결과 순서는 업로드 순서와 동일합니다.

추가 사용 안내

  • 일괄 작업을 취소하기 전에 실행할 수 있는 시간의 상한값을 설정할 수 있습니다. 새 일괄 작업을 만들 때 metadata.execution_limit_seconds 필드를 원하는 시간 제한(초)으로 설정합니다. metadata.execution_limit_seconds를 설정하지 않으면 기본 시간 제한이 없습니다.

  • AddBatchJobOperationsRequest당 1,000개 이하의 작업을 추가하고 sequence_token를 사용하여 나머지 작업을 동일한 작업에 업로드하는 것이 좋습니다. 작업 내용에 따라 단일 AddBatchJobOperationsRequest에 작업이 너무 많으면 REQUEST_TOO_LARGE 오류가 발생할 수 있습니다. 작업 수를 줄이고 AddBatchJobOperationsRequest를 다시 시도하여 이 오류를 처리할 수 있습니다.

제한사항

  • BatchJob는 최대 100만 개의 작업을 지원합니다.

  • 각 계정에는 동시에 최대 100개의 활성 또는 대기 중인 작업을 포함할 수 있습니다.

  • 대기 중인 작업은 7일이 지난 후 자동으로 삭제됩니다.