Best Practices und Einschränkungen

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 den sequence_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 einzelnen AddBatchJobOperationsRequest den Fehler REQUEST_TOO_LARGE verursachen. Sie können diesen Fehler beheben, indem Sie die Anzahl der Vorgänge reduzieren und den AddBatchJobOperationsRequest 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. Wenn metadata.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.