Bevor Sie auf die neueste App Engine Services SDK-Version aktualisieren, lesen Sie die Migrationsübersicht.
Sie können automatisch zu Cloud Tasks migrieren, indem Sie Ihr App Engine Services SDK auf die neueste Version aktualisieren. Nach dem Upgrade leitet das SDK PushQueue-Aufrufe automatisch an die Cloud Tasks-Frontend-APIs weiter. In Cloud Tasks bleiben Ihre vorhandenen Aufgabenwarteschlangen und Aufgaben erhalten, sodass keine zusätzliche Migration erforderlich ist.
Im Hintergrund verwendet das aktualisierte SDK die Cloud Tasks APIs, um die Funktionsparität mit den Funktionen von Aufgabenwarteschlangen aufrechtzuerhalten. Das SDK unterstützt Folgendes:
- Batch-Aufgabenerstellung: Das SDK verwendet Batch-APIs, um das Hinzufügen von bis zu 100 Aufgaben in einem einzigen Aufruf zu unterstützen.
- Wiederholungen auf Aufgabenebene: Das SDK unterstützt aufgabenspezifische Wiederholungskonfigurationen.
- Transaktionsaufgaben: Das SDK stellt Aufgaben in Datastore
transaktionen in die Warteschlange. Um die Zuverlässigkeit aufrechtzuerhalten, erstellen oder ändern Sie die Datei
cron.yaml.
Preise und Kontingente
Die Migration Ihrer Push-Warteschlangen zu Cloud Tasks kann sich auf die Preise und Kontingente für Ihre Anwendung auswirken.
Preise
Sehen Sie sich die Cloud Tasks-Preise an, um Ihre monatlichen Kosten vor der Migration zu schätzen.
Ähnlich wie bei Aufgabenwarteschlangen ist das Senden von Anfragen an Ihre App Engine-Anwendung mit einem Cloud Tasks-Push-Ziel kostenlos. Im Gegensatz zu Aufgabenwarteschlangen werden bei Cloud Tasks jedoch Vorgänge wie das Erstellen, Löschen oder Verwalten von Aufgaben in Rechnung gestellt. Dies kann zu höheren monatlichen Gesamtkosten führen als bei der kostenlosen App Engine-Aufgabenwarteschlange.
Kontingente
Cloud Tasks-Anfragen werden auch auf Ihre App Engine-Anfragekontingente angerechnet.
Wie bei Aufgabenwarteschlangen gibt es auch bei Cloud Tasks dienstspezifische Kontingente. Durch die Migration zu Cloud Tasks ändern sich wahrscheinlich Ihre Kontingente.
Hinweis
In den folgenden Abschnitten werden die Kosten- und Kontingentüberlegungen vor der Migration von Push-Warteschlangen zu Cloud Tasks erläutert.
Achten Sie darauf, dass Sie Zugriff auf den App Engine-Quellcode haben.
Aktivieren Sie die Cloud Tasks API und die Cloud Scheduler API:
Bitten Sie Ihren Administrator, dem App Engine-Dienstkonto die erforderlichen Berechtigungen zu gewähren, damit das SDK Aufgaben an die Cloud Tasks API senden kann. Bitten Sie ihn, die Cloud Tasks-Warteschlangenmanager (
roles/cloudtasks.enqueuer) IAM-Rolle für das Projekt zu gewähren.
App Engine Services SDK aktualisieren
Achten Sie darauf, dass Ihre Anwendung die neueste Version des App Engine Services SDK verwendet.
Aktualisieren Sie die Abhängigkeit
google-appengine-apiauf Versionv3.1.0b0oder höher. Beispiel:Flask==3.0.0 appengine-python-standard>=v3.1.0b0 google-cloud-tasks
Cloud Tasks-Routing aktivieren
runtime: 3.14 service: my-service-b env_variables: APPENGINE_USE_CLOUDTASK_PUSH_QUEUE: "true"Anwendung bereitstellen:
gcloud app deployPrüfen Sie die Push-Warteschlangen in Cloud Tasks um zu bestätigen, dass Ihre Anwendung Cloud Tasks verwendet.
Transaktionsaufgaben konfigurieren (optional)
Wenn Ihre Anwendung Aufgaben in Datenspeichertransaktionen in die Warteschlange stellt, verwendet das SDK einen internen Cronjob, um sicherzustellen, dass alle Aufgaben, die während des Datenspeicher-Commits nicht in die Warteschlange gestellt werden können, letztendlich verarbeitet werden.
Um transaktionale Aufgaben für Push-Warteschlangen zu verarbeiten, erstellen oder aktualisieren Sie die Datei cron.yaml, um den internen Prozessor regelmäßig aufzurufen. Beispiel:
cron:
- description: "Process push queue transactional tasks"
url: /_ah/cloudtask/sweep
schedule: every 30 minutes # Change this based on the usage pattern
Nächste Schritte
- Dokumentation zu Cloud Tasks
- Cloud Tasks-Clientbibliothek
- Cloud Tasks-REST-Referenz – Übersicht
- Cloud Tasks-RPC-Referenz – Übersicht
- Eine Anleitung finden Sie im Codelab zur Migration von App Engine-Aufgaben-Push Warteschlangen zu Cloud Tasks.