Methode zur Aufgabenerstellung auswählen

Sie können HTTP-Aufgaben mit der Methode BufferTask (Vorschau) oder CreateTask erstellen. Auf dieser Seite wird erläutert, wie Sie zwischen den beiden Methoden zum Erstellen von HTTP-Aufgaben wählen.

Mit der Methode BufferTask (Vorschau) können Sie eine Aufgabe erstellen, indem Sie eine HTTP-Anfrage an die Warteschlange senden. Mit der Methode CreateTask können Sie eine Aufgabe erstellen, indem Sie das Aufgabenobjekt erstellen. In den meisten Anwendungsfällen muss das Aufgabenobjekt nicht explizit erstellt werden. Welche Methode zum Erstellen von Aufgaben am besten geeignet ist, hängt davon ab, ob Ihre Warteschlange ein Routing auf Warteschlangenebene hat.

Prüfen, ob für Ihre Warteschlange Routing auf Warteschlangenebene eingerichtet ist

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

    gcloud beta 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 uriOverride festgelegt wurde.

Warteschlangen mit Routing auf Warteschlangenebene

Bei Warteschlangen mit Routing auf Warteschlangenebene hängt die Aufgabenerstellungsmethode von den Routinganforderungen der Aufgabe ab:

  • Für die Aufgabe gelten die gleichen Routinganforderungen wie auf Warteschlangenebene: Verwenden Sie BufferTask (Vorschau). Weitere Informationen zum Erstellen von Aufgaben mit der Methode BufferTask
  • Für die Aufgabe gelten andere Routinganforderungen als auf Warteschlangenebene: Legen Sie den UriOverrideEnforceMode der Warteschlange auf IF_NOT_EXISTS fest, damit das Routing auf Warteschlangenebene für Aufgaben gilt, für die kein Routing vorhanden ist (z. B. BufferTask-Aufgaben), aber das Routing von Aufgaben mit eigenen Routingspezifikationen berücksichtigt wird. Verwenden Sie dann CreateTask. Mit dieser Methode können Sie individuelles Routing für die Aufgabe angeben. Weitere Informationen zum Erstellen von Aufgaben mit der Methode CreateTask

Warteschlangen ohne Routing auf Warteschlangenebene

Bei Warteschlangen ohne Routing auf Warteschlangenebene können Sie Aufgaben mit der Methode CreateTask erstellen oder das Routing auf Warteschlangenebene configure. Bei der Methode CreateTask muss ein Routing für die Aufgabe angegeben werden. Dies ist für Warteschlangen erforderlich, die noch keine Routinginformationen auf Warteschlangenebene haben. Weitere Informationen zum Erstellen von Aufgaben mit der Methode CreateTask

Routing auf Warteschlangenebene

Beim Routing auf Warteschlangenebene können Sie Standardroutinginformationen für Aufgaben basierend auf der Warteschlange angeben, in der sie sich befinden. Sie können angeben, ob das Standardrouting nur für Aufgaben ohne eigene Routinginformationen oder für alle Aufgaben gelten soll.

Wählen Sie eine Weiterleitung auf Warteschlangenebene aus, wenn Sie:

  • Aufgaben mit Standard-HTTP-Anfragen erstellen, anstatt ein Aufgabenobjekt zu erstellen
  • Warteschlange als Puffer vor einem Zieldienst verwenden

Der Ansatz pro Ziel

Das Routing auf Warteschlangenebene funktioniert am besten bei Architekturen, die für jeden Zieldienst eine einzige Warteschlange verwenden. Mit diesem Modell können Sie:

  • Aufgaben auf der Grundlage ihres Ziels verwalten (z. B. Weiterleitung einer Gruppe von Aufgaben, wenn der Zieldienst ausgefallen ist)
  • Alle Aufgaben in einer Warteschlange an dasselbe Ziel senden
  • Aufgaben erstellen, ohne das Aufgabenobjekt explizit zu erstellen (mithilfe der Methode BufferTask aus der Vorschau)

Überschreibungsverhalten auf Warteschlangenebene aktivieren und deaktivieren

Nachdem Sie das Routing auf Warteschlangenebene konfiguriert haben, können Sie durch Festlegen des UriOverrideEnforceMode der Warteschlange entscheiden, wann es erzwungen wird.

  • IF_NOT_EXISTS: Das Routing auf Warteschlangenebene gilt nur, wenn eine Aufgabe keine eigenen Routinginformationen enthält. Verwenden Sie diese Einstellung, wenn die Warteschlange Aufgaben an verschiedene Ziele weiterleiten können soll.
  • ALWAYS: Das Routing auf Warteschlangenebene gilt immer, auch wenn eine Aufgabe eigene Routinginformationen enthält. Alle auf Aufgabenebene festgelegten Routinginformationen werden vom Routing auf Warteschlangenebene überschrieben. Verwenden Sie diese Einstellung, wenn für Aufgaben in einer bestimmten Warteschlange dieselben Routinginformationen verwendet werden sollen.