Best Practices und Einschränkungen

Beachten Sie bei der Verwendung von BatchJobService die folgenden Richtlinien.

Durchsatz verbessern

  • Weniger größere Aufträge werden gegenüber vielen kleineren Jobs bevorzugt.

  • Sortieren Sie hochgeladene Vorgänge nach Vorgangstyp. Wenn Ihr Job beispielsweise Vorgänge zum Hinzufügen von Kampagnen, Anzeigengruppen und Anzeigengruppenkriterien enthält, ordnen Sie die Vorgänge beim Upload so an, dass zuerst alle Kampagnenvorgänge, dann alle Anzeigengruppenvorgänge und schließlich alle Vorgänge für Anzeigengruppenkriterien aufgeführt werden.

  • Innerhalb von Vorgängen desselben Typs kann die Leistung verbessert werden, wenn sie nach übergeordneten Ressourcen gruppiert werden. Bei einer Reihe von AdGroupCriterionOperation-Objekten ist es z. B. möglicherweise effizienter, Vorgänge nach Anzeigengruppe zu gruppieren, anstatt Vorgänge zu vermischen, die sich auf Anzeigengruppenkriterien in verschiedenen Anzeigengruppen auswirken.

Gleichzeitigkeitsprobleme vermeiden

  • 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.

Ergebnisse optimal abrufen

  • 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.

Zusätzliche Hinweise zur Verwendung

  • 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.

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

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.