Beachten Sie bei der Verwendung von BatchJobService
die folgenden Richtlinien:
- Für einen besseren Durchsatz sollten weniger größere Jobs anstelle von vielen kleineren Jobs bevorzugt werden.
- Es wird empfohlen, nicht mehr als 1.000 Vorgänge pro
AddBatchJobOperationsRequest
hinzuzufügen und densequence_token
zu verwenden, um die restlichen Vorgänge in denselben Job hochzuladen. Je nach Inhalt der Vorgänge können zu viele Vorgänge in einer einzelnenAddBatchJobOperationsRequest
den FehlerREQUEST_TOO_LARGE
verursachen. Sie können diesen Fehler beheben, indem Sie die Anzahl der Vorgänge reduzieren und denAddBatchJobOperationsRequest
wiederholen. - Wenn Sie mehrere gleichzeitige Jobs für dasselbe Konto senden, versuchen Sie, die Wahrscheinlichkeit zu verringern, dass Jobs gleichzeitig für dieselben Objekte ausgeführt werden. Achten Sie dabei auf große Jobgrößen. Viele nicht abgeschlossene Aufträge (mit dem Status
RUNNING
), die versuchen, denselben Satz von Objekten zu ändern, können zu blockadeähnlichen Bedingungen führen, was wiederum zu einer erheblichen Verlangsamung und sogar zu Jobfehlern führt. - Senden Sie nicht mehrere Vorgänge, mit denen dasselbe Objekt im selben Job geändert wird, da das Ergebnis unvorhersehbar sein kann.
- Sortieren Sie hochgeladene Vorgänge nach ihrem Typ, um einen höheren Durchsatz zu erzielen. Wenn Ihr Job beispielsweise Vorgänge zum Hinzufügen von Kampagnen, Anzeigengruppen und Anzeigengruppenkriterien enthält, ordnen Sie die Vorgänge im Upload so an, dass zuerst alle Kampagnenvorgänge, dann alle Anzeigengruppenvorgänge und schließlich alle Vorgänge für Anzeigengruppenkriterien aufgeführt werden.
- Fragen Sie den Jobstatus nicht zu häufig ab. Andernfalls riskieren Sie, dass Ratenbegrenzungsfehler auftreten.
- Rufen Sie nicht mehr als 1.000 Ergebnisse pro Seite ab. Der Server kann aufgrund der Last oder anderer Faktoren weniger ausgeben.
- Die Ergebnisreihenfolge entspricht der Uploadreihenfolge für die Batchverarbeitung.
- Sie können festlegen, wie lange ein Batchjob ausgeführt werden darf, bevor er abgebrochen wird. Legen Sie beim Erstellen eines neuen Batchjobs im Feld
metadata.execution_limit_seconds
Ihr bevorzugtes Zeitlimit in Sekunden fest. Wennmetadata.execution_limit_seconds
nicht festgelegt ist, gibt es kein Standardzeitlimit.
Beschränkungen
- Jedes
BatchJob
unterstützt bis zu eine Million Vorgänge. - Jedes Konto kann bis zu 100 aktive oder ausstehende Aufträge gleichzeitig enthalten.
- Ausstehende Aufträge, die älter als 7 Tage sind, werden automatisch entfernt.