Von Aufgabenwarteschlangen zu Cloud Tasks migrieren

Sie können eine Migration über die App Engine Task Queue API vom Warteschlangendienst "Aufgabenwarteschlangen" der App Engine-Standardumgebung durchführen, um über die neue RPC/REST API "Cloud Tasks" auf denselben Dienst zuzugreifen. Cloud Tasks kann außerhalb der App Engine-Standardlaufzeiten der ersten Generation eingesetzt werden, insbesondere über alle flexiblen App Engine-Umgebungen und über alle App Engine-Standardlaufzeiten der zweiten Generation.

Cloud Tasks und der aktuelle Aufgabenwarteschlangendienst für die App Engine-Standardumgebung existieren nebeneinander in derselben Umgebung. Über beide APIs können Sie Elemente zu Warteschlangen hinzufügen. Unabhängig davon, ob Sie das App Engine SDK oder die neue Cloud Tasks API verwenden, leitet eine Warteschlange innerhalb der Anwendung eine Aufgabe zur asynchronen Verarbeitung an eine Handler-URL weiter.

Neue Funktionen

Cloud Tasks bietet einige Funktionen, die über das App Engine SDK nicht verfügbar sind, darunter die folgenden:

  • Warteschlangenverwaltung über die API:

    Über die API, die Console oder den Befehl gcloud können Sie weitere Aufgaben zur Warteschlangenverwaltung erstellen, löschen, anhalten und ausführen.

  • Befehl zum Auflisten von Warteschlangen:

    Sie können alle Warteschlangen auflisten, die Sie in Ihrem Projekt eingerichtet haben.

  • Befehl zum Auflisten von Aufgaben:

    Sie können alle Aufgaben in einer Ihrer Warteschlangen auflisten.

  • Einbinden der Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM):

    Mit IAM können Sie den Zugriff auf Ihre Warteschlangen und Aufgaben sehr differenziert sichern.

  • HTTP-Ziele

    Sie können Handler an jedem HTTP-Endpunkt mit einer öffentlichen IP-Adresse als Ziel verwenden.

Funktionen für Aufgabenwarteschlangen, die noch nicht über die Cloud Tasks API verfügbar sind:

  • Pull-Warteschlangen:

    Eine Anzahl identischer Anwendungsfälle können Sie mit dem GA-Produkt Cloud Pub/Sub als Pull-Warteschlangen implementieren.

  • Transaktionsaufgaben:

    Das Einreihen einer Aufgabe in eine Warteschlange wird von Cloud Tasks nicht als Teil einer Cloud Datastore-Transaktion unterstützt, sodass die Aufgabe nur dann (aber dann garantiert) in eine Warteschlange aufgenommen wird, wenn für die Transaktion ein erfolgreicher Commit durchgeführt wurde.

  • Aufgeschobene/verzögerte Aufgaben:

    Für bestimmte Fälle, in denen eine Reihe unterschiedlicher kleiner Aufgaben asynchron behandelt werden soll, Sie aber keine einzelnen unterschiedlichen Handler einrichten möchten, bietet das App Engine SDK laufzeitspezifische Bibliotheken zum Erstellen einfacher Funktionen, mit denen diese Aufgaben verwaltet werden können. Diese Funktion ist in Cloud Tasks nicht verfügbar. Beachten Sie aber, dass ein Verlegen von normalen Aufgaben in die Zukunft mit Cloud Tasks möglich ist.

  • Namespaces vergeben:

    Einige der Laufzeiten, die das App Engine SDK verwenden, haben APIs, die eine Mehrinstanzenfähigkeit für Aufgaben durch das Vergeben von Namespaces unterstützen. Diese Funktion ist in Cloud Tasks nicht verfügbar.

  • Lokaler Emulator:

    Der von der gcloud CLI oder dem App Engine SDK bereitgestellte lokale Entwicklungsserver unterstützt keine simulierten Endpunkte für Cloud Tasks API-Aufrufe.

  • Asynchrone Aufgabe hinzufügen:

    Nutzer des App Engine SDK können Aufgaben asynchron zu Warteschlangen hinzufügen. Diese Funktion ist in Cloud Tasks nicht verfügbar.

Weitere Informationen

Weitere ausführliche Anleitungen zum Migrieren des Codes finden Sie in der Dokumentation zum App Engine-Tool "Aufgabenwarteschlange":