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. In beiden Fällen ist der Inhaber einer Warteschlange eine Anwendung. Unabhängig davon, ob Sie das App Engine SDK oder die neue Cloud Tasks API verwenden, leitet eine Warteschlange innerhalb der Anwendung Aufgaben an eine Handler-URL zur asynchronen Verarbeitung 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.

  • IAM-Integration (Identity and Access Management):

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

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 vom Cloud SDK oder App Engine SDK bereitgestellte lokale Entwicklungsserver unterstützt keine simulierten Endpunkte für Cloud Task 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":