사용 시 다음 가이드라인을 고려하세요.
BatchJobService
처리량 개선
규모가 작은 여러 개의 작업보다 적은 수의 작업이 선호됩니다.
업로드된 작업을 작업 유형별로 정렬합니다. 예를 들어 직업이 여기에는 캠페인, 광고 그룹 및 광고 그룹 기준을 추가하는 작업이 포함됩니다. 업로드 시 모든 캠페인이 연산이 먼저 나온 다음 광고 그룹 작업, 그리고 마지막으로 모든 광고그룹 기준 연산을 참조하세요.
동일한 유형의 작업 내에서 그룹화하여 성능을 개선할 수 있습니다. 기준으로 합니다. 예를 들어 일련의
AdGroupCriterionOperation
객체를 사용하면 그룹화하는 것이 더 효율적일 수 있음 운영에 영향을 미치는 작업을 혼합하는 것이 아니라 광고그룹별 운영 광고 그룹 기준을 설정할 수 있습니다.
동시 실행 문제 방지
동일한 계정에 대해 동시 작업을 여러 개 제출하는 경우 같은 객체에 대해 동시에 작동할 가능성이 있는 반면, 유지관리할 수 있습니다 많은 완료되지 않은 작업(
RUNNING
) 동일한 객체 집합을 변형하려고 하면 교착 상태 같은 상태가 발생할 수 있습니다. 심각한 속도 저하와 작업 실패까지도 발생할 수 있습니다동일한 객체 내에서 동일한 객체를 변경하는 작업을 여러 개 제출하지 마세요. 결과를 예측할 수 없을 수 있기 때문입니다.
최적의 결과 검색
작업 상태를 너무 자주 폴링하지 마세요. 비율 한도에 도달할 위험이 있습니다. 오류가 발생했습니다.
페이지당 1,000개가 넘는 결과를 검색하지 않습니다. 서버는 더 적다는 것을 알 수 있습니다.
결과 순서는 업로드 순서와 동일합니다.
추가 사용법 안내
다음 날짜 이전에 일괄 작업을 실행할 수 있는 시간의 상한값을 설정할 수 있습니다. 있습니다. 새 일괄 작업을 만들 때
metadata.execution_limit_seconds
드림 필드를 원하는 시간 제한(초)으로 설정합니다. 기본 시간이 없습니다.metadata.execution_limit_seconds
가 설정되지 않은 경우 제한작업당 1,000개 이하의 작업을 추가하는 것이 좋습니다.
AddBatchJobOperationsRequest
드림 로 이동하여sequence_token
나머지 작업을 동일한 작업에 업로드할 수 있습니다. 사용 가능 여부에 따라 너무 많은 작업을 한 번에AddBatchJobOperationsRequest
로 인해REQUEST_TOO_LARGE
오류가 발생할 수 있습니다. 나 연산의 수를 줄이고AddBatchJobOperationsRequest
제한사항
각
BatchJob
는 최대 100만 개까지 지원합니다. 작업을 수행할 수 있습니다각 계정에는 동시에 최대 100개의 활성 또는 대기 중인 작업이 있을 수 있습니다.
7일이 지난 대기 중인 작업은 자동으로 삭제됩니다.
각
AddBatchJobOperationsRequest
최대 크기는 10,484,504바이트입니다. 이 한도를 초과하면INTERNAL_ERROR
요청 크기를 결정하기 전에 크기가 너무 크면 적절한 조치를 취하세요.자바
static final int MAX_REQUEST_BYTES = 10_484_504; ... (code to get the request object) int sizeInBytes = request.getSerializedSize();
Python
from google.ads.googleads.client import GoogleAdsClient MAX_REQUEST_BYTES = 10484504 ... (code to get the request object) size_in_bytes = request._pb.ByteSize()
Ruby
require 'google/ads/google_ads' MAX_REQUEST_BYTES = 10484504 ... (code to get the request object) size_in_bytes = request.to_proto.bytesize
PHP
use Google\Ads\GoogleAds\V16\Resources\Campaign; const MAX_REQUEST_BYTES = 10484504; ... (code to get the request object) $size_in_bytes = $campaign->byteSize() . PHP_EOL;
.NET
using Google.Protobuf; const int MAX_REQUEST_BYTES = 10484504; ... (code to get the request object) int sizeInBytes = request.ToByteArray().Length;
Perl
use Devel::Size qw(total_size); use constant MAX_REQUEST_BYTES => 10484504; ... (code to get the request object) my $size_in_bytes = total_size($request);