Methode zum Erstellen von Aufgaben 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 die Warteschlange senden. Mit der Methode CreateTask können Sie eine Aufgabe durch Erstellen der Aufgabe erstellen. -Objekt enthält. Für die meisten Anwendungsfälle ist es nicht erforderlich, das Aufgabenobjekt explizit zu erstellen. Welche Methode zum Erstellen von Aufgaben am besten geeignet ist, hängt davon ab, ob Ihre Warteschlange ein Routing auf Warteschlangenebene hat.

Hinweise

Prüfen Sie in der folgenden Liste, ob einer der Anwendungsfälle auf Sie zutrifft:

  • Sie möchten Aufgaben mit der RPC API oder den Clientbibliotheken erstellen (statt der REST API)
  • Sie möchten Aufgaben als App Engine-Aufgaben erstellen und nicht als die typischeren Aufgabenobjekte für allgemeine HTTP-Ziele, die App Engine-Ziele sein können oder nicht.

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 für die Warteschlange eine Weiterleitung auf Warteschlangenebene festgelegt ist

  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 Ihrer Warteschlange.

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

Warteschlangen mit Routing auf Warteschlangenebene

Bei Warteschlangen mit Routing auf Warteschlangenebene hängt die Methode zum Erstellen von Aufgaben von den Routinganforderungen der Aufgabe ab:

  • Die Aufgabe hat dieselben Routinganforderungen wie auf Warteschlangenebene: Verwenden Sie BufferTask. Informationen zum Erstellen von Aufgaben mit der Methode 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. Informationen zum Erstellen von Aufgaben mit der Methode CreateTask

Informationen zum Routing auf Warteschlangenebene

Mit dem Routing auf Warteschlangenebene können Sie standardmäßige Routinginformationen für Aufgaben basierend auf der Warteschlange angeben, 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 Folgendes tun möchten:

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

Der Ansatz auf Basis der Zielgruppe

Das Routing auf Queueebene funktioniert am besten mit Architekturen, bei denen für jeden Zieldienst eine eigene Warteschlange verwendet wird. Mit diesem Modell können Sie:

  • Aufgaben basierend auf ihrem Ziel verwalten (z. B. eine Gruppe von Aufgaben umleiten, wenn der Zieldienst ausgefallen ist)
  • Alle Aufgaben in einer Warteschlange an dasselbe Ziel senden
  • Aufgaben erstellen, ohne das Aufgabenobjekt explizit zu erstellen, indem die Methode BufferTask verwendet wird

Überschreibungsverhalten auf Warteschlangenebene aktivieren und deaktivieren

Nachdem Sie das Routing auf Warteschlangenebene konfiguriert haben, können Sie festlegen, wann es erzwungen wird. Legen Sie dazu den UriOverrideEnforceMode der Warteschlange fest.

  • IF_NOT_EXISTS: Das Routing auf Warteschlangenebene gilt nur, wenn eine Aufgabe keine eigenen Routinginformationen enthält. 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.