Vous pouvez passer de l'utilisation du service de file d'attente d'environnement standard App Engine (Files d'attente de tâches) via l'API Task Queue d'App Engine à l'accès à ce même service à l'aide de Cloud Tasks, une nouvelle API RPC/REST. Le service Cloud Tasks peut être utilisé en dehors des environnements d'exécution standards de première génération App Engine, en particulier à partir de tous les environnements flexibles App Engine, ainsi que des environnements d'exécution standards de deuxième génération App Engine.
Cloud Tasks et le service de file d'attente de tâches d'environnement standard App Engine existent dans le même environnement. Vous pouvez ajouter des tâches aux mêmes files d'attente via l'une ou l'autre des API. Que vous utilisiez le SDK App Engine ou la nouvelle API Cloud Tasks , une file d'attente dans l'application transfère une tâche à une URL de gestionnaire pour un traitement asynchrone.
Nouvelles fonctionnalités
Cloud Tasks fournit certaines fonctionnalités non disponibles via le SDK App Engine :
Gestion des files d'attente via l'API :
Vous pouvez créer, supprimer, suspendre et effectuer d'autres tâches de gestion des files d'attente à l'aide de l'API, de la console ou de la commande
gcloud
.Commande "Répertorier les files d'attente" :
Vous pouvez répertorier toutes les files d'attente que vous avez configurées dans le projet.
Commande "Répertorier les tâches" :
Vous pouvez répertorier toutes les tâches d'une file d'attente.
Intégration IAM (Identity and Access Management) :
Vous pouvez sécuriser l'accès à vos files d'attente et à vos tâches de manière très précise à l'aide d'IAM.
Cibles HTTP
Vous pouvez cibler des gestionnaires sur n'importe quel point de terminaison HTTP disposant d'une adresse IP publique.
Fonctionnalités dans les files d'attente de tâches qui ne sont pas encore disponibles via l'API Cloud Tasks :
-
Vous pouvez utiliser Cloud Pub/Sub, un produit GA, pour mettre en œuvre plusieurs des mêmes cas d'utilisation que les files d'attente de retrait.
-
Cloud Tasks ne gère pas la mise en file d'attente d'une tâche dans le cadre d'une transaction Cloud Datastore, de telle sorte que la tâche est uniquement mise en file d'attente (et est garantie d'être mise en file d'attente) si la transaction est correctement validée.
-
Dans certains cas où vous pourriez avoir besoin d'une série de petites tâches diverses gérées de manière asynchrone, mais que vous ne souhaitez pas configurer des gestionnaires distincts, le SDK App Engine vous permet d'utiliser des bibliothèques spécifiques à l'exécution afin de créer des fonctions simples pour gérer ces tâches. Cette fonctionnalité n'est pas disponible dans Cloud Tasks. Notez cependant que les tâches normales peuvent être planifiées ultérieurement à l'aide de Cloud Tasks.
-
Certains environnements d'exécution qui utilisent le SDK App Engine ont des API compatibles avec l'architecture mutualisée des tâches via l'espace de noms. Cette fonctionnalité n'est pas disponible dans Cloud Tasks.
-
Le serveur de développement local fourni par la gcloud CLI ou le SDK App Engine n'est pas compatible avec les points de terminaison simulés pour les appels d'API Cloud Tasks.
-
Les utilisateurs du SDK App Engine peuvent choisir d'ajouter des tâches aux files d'attente de manière asynchrone. Cette fonctionnalité n'est pas disponible dans Cloud Tasks.
Pour en savoir plus
Vous trouverez des guides plus détaillés sur la migration de votre code dans la documentation sur la file d'attente des tâches App Engine :
- Migrer des files d'attente de retrait Python 2.7 vers Pub/Sub
- Migrer des files d'attente d'envoi Python 2.7 vers Cloud Tasks
- Migrer des files d'attente de retrait Java 8 vers Pub/Sub
- Migrer des files d'attente d'envoi Java 8 vers Cloud Tasks