Methode zur Aufgabenerstellung auswählen

Sie können HTTP-Aufgaben mit der Methode BufferTask oder dem CreateTask-Methode. Auf dieser Seite wird erläutert, wie Sie zwischen den zwei Methoden zum Erstellen von HTTP-Aufgaben.

Mit der Methode BufferTask können Sie eine Aufgabe erstellen, indem Sie eine HTTP-Anfrage an den in die Warteschlange stellen. Mit der Methode CreateTask können Sie eine Aufgabe durch Erstellen der Aufgabe erstellen. -Objekt enthält. Für die meisten Anwendungsfälle ist die explizite Konstruktion des Aufgabenobjekts unnötig. Die beste Methode zum Erstellen von Aufgaben hängt davon ab, ob Ihre Warteschlange verwendet ein Routing auf Warteschlangenebene.

Hinweise

Sehen Sie sich die folgende Liste von Anwendungsfällen an, um herauszufinden, ob sie auf Sie zutreffen:

  • Sie möchten Aufgaben mit der RPC API oder den Clientbibliotheken erstellen (statt der REST API)
  • Sie möchten Aufgaben erstellen als App Engine-Task-Objekte (im Gegensatz zu die typischeren Aufgabenobjekte für generische HTTP-Ziele, die entweder App Engine-Ziele)

Wenn einer dieser Punkte auf Sie zutrifft, müssen Sie keine Methode zur Aufgabenerstellung auswählen. da nur eine Methode (die Methode CreateTask) unterstützt wird. Direkt zu der CreateTask-Dokumentation für Ihren Aufgabentyp:

Prüfen, ob die Warteschlange eine Weiterleitung auf Warteschlangeebene verwendet

  1. Führen Sie den folgenden gcloud CLI-Befehl in Ihrem Terminal aus:

    gcloud tasks queues describe QUEUE_NAME

    Ersetzen Sie QUEUE_NAME durch den Namen der Warteschlange.

  2. Suchen Sie in der Ausgabe nach dem Feld httpTarget und prüfen Sie, ob das Feld uriOverride wurde festgelegt.

Warteschlangen mit Routing auf Warteschlangenebene

Bei Warteschlangen mit Routing auf Warteschlangenebene hängt die Methode zur Aufgabenerstellung vom Routinganforderungen der Aufgabe:

  • Die Aufgabe hat dieselben Routinganforderungen wie auf Warteschlangenebene: Verwenden Sie BufferTask. Hier erfahren Sie, wie Sie Aufgaben mit dem BufferTask .
  • Die Routinganforderungen der Aufgabe unterscheiden sich von denen auf Warteschlangenebene: Legen Sie die UriOverrideEnforceMode an IF_NOT_EXISTS, um sicherzustellen, dass das Routing auf Warteschlangenebene auf Aufgaben für welche Weiterleitung nicht existiert (z. B. BufferTask-Aufgaben), das Routing von Aufgaben mit eigenen Routingspezifikationen. Verwenden Sie dann CreateTask Mit dieser Methode können Sie ein individuelles Routing für die Aufgabe angeben. Hier erfahren Sie, wie Sie Aufgaben mit dem CreateTask .

Warteschlangen ohne Routing auf Warteschlangenebene

Erstellen Sie Aufgaben für Warteschlangen ohne Routing auf Warteschlangenebene mithilfe der CreateTask (oder Konfigurieren Routing auf Warteschlangenebene). Die Methode CreateTask umfasst die Angabe eines Routings für die Aufgabe, die für Warteschlangen erforderlich ist, die noch kein Routing haben Informationen auf Warteschlangenebene. Hier erfahren Sie, wie Sie Aufgaben mit dem CreateTask .

Informationen zum Routing auf Warteschlangenebene

Mit dem Routing auf Warteschlangenebene können Sie Standardroutinginformationen für aufgabenbasierte in der sie sich befinden. Sie können angeben, ob das Standardrouting nur für Aufgaben, die keine eigenen Weiterleitungsinformationen haben, oder für alle Aufgaben.

Wählen Sie das Routing auf Warteschlangenebene aus, wenn Sie

  • Aufgaben mit Standard-HTTP-Anfragen erstellen (anstatt die Aufgabe zu erstellen) Objekt)
  • Warteschlange als Puffer vor einem Zieldienst verwenden

Der Ansatz auf Basis der Zielgruppe

Das Routing auf Warteschlangenebene funktioniert am besten mit Architekturen, die jeweils eine Warteschlange verwenden Zieldienst. Mit diesem Modell können Sie:

  • Sie können Aufgaben basierend auf ihrem Ziel verwalten, z. B. indem Sie eine Gruppe Aufgaben, wenn der Zieldienst ausgefallen ist)
  • Alle Aufgaben in einer Warteschlange an dasselbe Ziel senden
  • Erstellen Sie Aufgaben ohne explizite Konstruktion des Aufgabenobjekts mithilfe der Methode BufferTask-Methode

Überschreibungsverhalten auf Warteschlangenebene aktivieren und deaktivieren

Nachdem Sie das Routing auf Warteschlangenebene konfiguriert haben, können Sie entscheiden, das Festlegen der UriOverrideEnforceMode.

  • IF_NOT_EXISTS: Das Routing auf Warteschlangenebene wird nur angewendet, wenn eine Aufgabe nicht eigene Routeninformationen enthalten. Mit dieser Einstellung können Sie festlegen, Aufgaben an verschiedene Ziele zuteilen.
  • ALWAYS: Das Routing auf Warteschlangenebene wird immer angewendet, auch wenn eine Aufgabe ihre eigene Routeninformationen. Alle Routinginformationen, die auf Aufgabenebene festgelegt werden, vom Routing auf Warteschlangenebene überschrieben. Verwenden Sie diese Einstellung, wenn Sie erfordern, dass Aufgaben in einer bestimmten Warteschlange dieselben Routinginformationen verwenden.