İşleme hızını artırın
Çok sayıda küçük iş yerine daha az büyük iş tercih edilir.
Yüklenen işlemleri işlem türüne göre sıralayın. Örneğin, kampanyalar, reklam grupları ve reklam grubu ölçütleri ekleme işlemleri içerir, tüm kampanyanızın yükleme işleminizdeki işlemleri olmak üzere, daha sonra tüm reklam grubu işlemleri ve son olarak reklam grubu ölçüt işlemlerini kaldırın.
Aynı türdeki işlemlerde, bunları gruplandırmak için performansı artırabilir. üst kaynağa göre. Örneğin, web sitesi genelinde
AdGroupCriterionOperation
nesne, gruplandırmak daha verimli olabilir işlemi etkileyen işlemleri birbiriyle karıştırmak yerine, reklam grubuna göre farklı reklam gruplarındaki grup ölçütlerini kullanabilirsiniz.
Eşzamanlılık sorunlarını önleme
Aynı hesap için birden fazla eşzamanlı iş gönderirken işlerin aynı anda aynı nesneler üzerinde çalışma olasılığı, bakımını yapmaktan bahsedeceğiz. Tamamlanmamış birçok iş (
RUNNING
) aynı nesne kümesini değiştirmeye çalışmak, kilitlenme benzeri koşullara yol açabilir ciddi yavaşlamalara, hatta iş başarısızlarına yol açabilir.Aynı nesneyi aynı içinde değiştiren birden fazla işlem göndermeyin çıkar ve sonuç tahmin edilemez olabilir.
En uygun şekilde sonuçları alma
İş durumunu çok sık kontrol etmeyin. Aksi takdirde oran sınırına ulaşma riskiyle karşı karşıya kalabilirsiniz. hatalar.
Sayfa başına 1.000'den fazla sonuç getirmeyin. Sunucu, daha az olabilir.
Sonuç sırası, yükleme sırası ile aynı olur.
Ek kullanım kılavuzu
Toplu işin ne kadar süreyle çalıştırılmasına izin verileceğine dair bir üst sınır ayarlayabilirsiniz. iptal ediliyor. Yeni bir toplu iş oluştururken
metadata.execution_limit_seconds
değerini saniye cinsinden tercih ettiğiniz zaman sınırına getirin. Varsayılan zaman yoktur sınır (metadata.execution_limit_seconds
) ayarlanmaz.Başına 1.000'den fazla işlem eklenmemesi önerilir
AddBatchJobOperationsRequest
vesequence_token
geri kalan işlemleri aynı işe yüklemeyi deneyin. Seçtiğiniz düzenleme moduna tek bir işlemde çok fazla sayıda işlem yapılmasıAddBatchJobOperationsRequest
,REQUEST_TOO_LARGE
hatasına neden olabilir. Siz Bu hatayı, işlem sayısını azaltıp işlemi yeniden deneyerek giderebilir.AddBatchJobOperationsRequest
Sınırlamalar
Her
BatchJob
, en fazla bir milyonu destekler. anlamına gelir.Her hesapta aynı anda en fazla 100 etkin veya beklemede iş olabilir.
Beklemede olup 7 günden daha eski olan işler otomatik olarak kaldırılır.
Her bir
AddBatchJobOperationsRequest
maksimum 10.484.504 bayt boyutundadır. Bu sınırı aşarsanızINTERNAL_ERROR
. İsteğin boyutunu dosya boyutu çok büyükse uygun olmayabilir.Java
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);