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
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.Suchen Sie in der Ausgabe nach dem Feld
httpTarget
und prüfen Sie, ob das FelduriOverride
wurde festgelegt.Wenn die Ausgabe eine Zeile für
uriOverride
mit einer angegebenenhost
enthält, für Ihre Warteschlange ein Routing auf Warteschlangenebene verwendet. Informationen zur Auswahl der Methode zur Aufgabenerstellung finden Sie unter Abschnitt Warteschlangen mit Routing auf WarteschlangenebeneWenn die Ausgabe keine Zeile für
uriOverride
enthält oder der Wert In deruriOverride
-Beschreibung wird keinhost
angegeben, in deiner Warteschlange jedoch haben kein Routing auf Warteschlangenebene. Informationen zur Auswahl der Methode zur Aufgabenerstellung finden Sie in der 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 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 demBufferTask
. - 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 dannCreateTask
Mit dieser Methode können Sie ein individuelles Routing für die Aufgabe angeben. Hier erfahren Sie, wie Sie Aufgaben mit demCreateTask
.
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.