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
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.Suchen Sie in der Ausgabe nach dem Feld
httpTarget
und prüfen Sie, oburiOverride
festgelegt wurde.Wenn die Ausgabe eine Zeile für
uriOverride
mit einem angegebenenhost
enthält, hat die Warteschlange Routing auf Warteschlangenebene. Informationen zur Auswahl der Methode zur Aufgabenerstellung finden Sie im Abschnitt Warteschlangen mit Routing auf Warteschlangenebene.Wenn die Ausgabe keine Zeile für
uriOverride
enthält oder in der BeschreibunguriOverride
keinhost
angegeben ist, hat die Warteschlange kein Routing auf Warteschlangenebene. Informationen zur Auswahl der Methode zur Aufgabenerstellung finden Sie im Abschnitt Warteschlangen ohne Routing auf Warteschlangenebene (oder Routing auf Warteschlangenebene konfigurieren).
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 MethodeBufferTask
- 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 dannCreateTask
. Mit dieser Methode können Sie individuelles Routing für die Aufgabe angeben. Weitere Informationen zum Erstellen von Aufgaben mit der MethodeCreateTask
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.