Migrer des files d'attente de tâches vers Cloud Tasks
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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 au sein de 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 :
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 ne gère pas 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 :
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[],[],null,["# Migrate from Task Queues to Cloud Tasks\n\nYou can migrate from using App Engine standard environment's queue service\n(Task Queues) via the App Engine Task Queue API to accessing that same service\nusing Cloud Tasks, a new RPC/REST API. Cloud Tasks can be\nemployed outside of first generation App Engine runtimes, particularly from all\n[App Engine flexible environments](/appengine/docs/flexible), as well as from\n[second generation App Engine standard environment\nruntimes](/appengine/docs/standard/runtimes).\n\nCloud Tasks and the current App Engine standard environment\ntask queue service exist in a single universe. You can add to the same\nqueues through either API. Regardless of whether you use the App Engine SDK\nor the new Cloud Tasks API , a queue within the app forwards a task to a\nhandler URL for asynchronous processing.\n\n### New features\n\nCloud Tasks provides some features not available via the App Engine\nSDK, including the following:\n\n- Queue management via the API:\n\n You can create, delete, pause, and perform other queue management tasks\n using the API, through the Console, or via the `gcloud` command.\n- List Queues command:\n\n You can list all the queues you have set up in your project.\n- List Tasks command:\n\n You can list all the tasks in any of your queues.\n- Identity and Access Management (IAM) integration:\n\n You can secure access to your queues and tasks in a highly granular way\n using [IAM](/iam).\n- HTTP Targets\n\n You can target handlers at any HTTP endpoint with a public IP address.\n\n### Features in Task Queues not yet available via Cloud Tasks API :\n\n- [Pull queues](/appengine/docs/standard/python/taskqueue/pull):\n\n You can use [Cloud Pub/Sub](/pubsub), a GA product, to implement many of\n the same use cases as pull queues.\n- [Transactional tasks](/appengine/docs/standard/python/taskqueue/push/creating-tasks#enqueuing_tasks_in_cloud_datastore_transactions):\n\n Cloud Tasks does not support enqueuing a task as part of a\n Cloud Datastore transaction, such that the task is only enqueued - and is\n guaranteed to be enqueued - if the transaction is committed successfully.\n- [Deferred/delayed tasks](/appengine/docs/standard/python/taskqueue/push/creating-tasks#using_the_instead_of_a_worker_service):\n\n In some cases where you might need a series of diverse small tasks handled\n asynchronously but you don't want to go through the work of setting up\n individual distinct handlers, the App Engine SDK allows you to use runtime\n specific libraries to create simple functions to manage these tasks. This\n feature is not available in Cloud Tasks. Note, though, that\n normal tasks *can* be scheduled in the future using Cloud Tasks.\n- [Namespacing](/appengine/docs/standard/python/taskqueue/push/creating-tasks#working_with_tasks_in_a_multi-tenant_application):\n\n Some of the runtimes that use the App Engine SDK have APIs that\n support task multitenancy through namespacing. This feature is not\n available in Cloud Tasks.\n- [Local emulator](/appengine/docs/standard/python/tools/using-local-server):\n\n The local development server provided by the gcloud CLI or the App Engine SDK\n does not support simulated endpoints for Cloud Tasks API calls.\n- [Asynchronous task add](/appengine/docs/standard/python/taskqueue/push/creating-tasks#adding_tasks_asynchronously):\n\n Users of the App Engine SDK can choose to add tasks to queues asynchronously.\n This feature is not available in Cloud Tasks.\n\n### For more information\n\nMore detailed guides for migrating your code can be found in the App Engine Task Queue\ndocumentation set:\n\n- Migrating from Python 2.7 [pull queues](/appengine/docs/standard/python/taskqueue/pull/migrating-pull-queues) to Pub/Sub\n- Migrating from Python 2.7 [push queues](/appengine/docs/standard/python/taskqueue/push/migrating-push-queues) to Cloud Tasks\n- Migrating from Java 8 [pull queues](/appengine/docs/standard/java/taskqueue/pull/migrating-pull-queues) to Pub/Sub\n- Migrating from Java 8 [push queues](/appengine/docs/standard/java/taskqueue/push/migrating-push-queues) to Cloud Tasks"]]