Migrar de las colas de tareas a Cloud Tasks

Puedes migrar del servicio de colas del entorno estándar de App Engine (Task Queues) mediante la API Task Queues de App Engine para acceder al mismo servicio con Cloud Tasks, una nueva API RPC/REST. Cloud Tasks se puede usar fuera de los tiempos de ejecución de App Engine de primera generación, sobre todo en todos los entornos flexibles de App Engine, así como en los tiempos de ejecución del entorno estándar de App Engine de segunda generación.

Cloud Tasks y el servicio de colas de tareas del entorno estándar de App Engine actual se encuentran en un mismo universo. Puedes añadir elementos a las mismas colas a través de cualquiera de las dos APIs. Independientemente de si usas el SDK de App Engine o la nueva API Cloud Tasks , una cola de la aplicación reenvía una tarea a una URL de controlador para que se procese de forma asíncrona.

Nuevas funciones

Cloud Tasks ofrece algunas funciones que no están disponibles a través del SDK de App Engine, como las siguientes:

  • Gestión de colas a través de la API:

    Puedes crear, eliminar, pausar y realizar otras tareas de gestión de colas mediante la API, a través de la consola o con el comando gcloud.

  • Comando List Queues:

    Puedes enumerar todas las colas que hayas configurado en tu proyecto.

  • Comando List Tasks:

    Puedes enumerar todas las tareas de cualquiera de tus colas.

  • Integración de Gestión de Identidades y Accesos (IAM):

    Puedes proteger el acceso a tus colas y tareas de forma muy granular mediante IAM.

  • Destinos HTTP

    Puede orientar los controladores a cualquier endpoint HTTP con una dirección IP pública.

Funciones de la API Task Queues que aún no están disponibles en la API Cloud Tasks :

  • Colas de extracción:

    Puedes usar Cloud Pub/Sub, un producto de disponibilidad general, para implementar muchos de los mismos casos prácticos que las colas de extracción.

  • Tareas transaccionales:

    Cloud Tasks no admite la puesta en cola de una tarea como parte de una transacción de Cloud Datastore, de forma que la tarea solo se ponga en cola (y se garantice que se ponga en cola) si la transacción se confirma correctamente.

  • Tareas aplazadas o retrasadas:

    En algunos casos, es posible que necesites gestionar de forma asíncrona una serie de tareas pequeñas y diversas, pero no quieras configurar controladores independientes. El SDK de App Engine te permite usar bibliotecas específicas del tiempo de ejecución para crear funciones sencillas que gestionen estas tareas. Esta función no está disponible en Cloud Tasks. Sin embargo, ten en cuenta que las tareas normales se pueden programar para el futuro con Cloud Tasks.

  • Espacio de nombres:

    Algunos de los tiempos de ejecución que usan el SDK de App Engine tienen APIs que admiten el multitenancy de tareas mediante espacios de nombres. Esta función no está disponible en Cloud Tasks.

  • Emulador local:

    El servidor de desarrollo local proporcionado por la CLI de gcloud o el SDK de App Engine no admite puntos finales simulados para las llamadas a la API Cloud Tasks.

  • Añadir tareas asíncronas:

    Los usuarios del SDK de App Engine pueden añadir tareas a las colas de forma asíncrona. Esta función no está disponible en Cloud Tasks.

Más información

Puedes consultar guías más detalladas para migrar tu código en el conjunto de documentación de la cola de tareas de App Engine: