Migra de las listas de tareas en cola a Cloud Tasks

Puedes migrar desde el servicio de cola del entorno estándar de App Engine (listas de tareas en cola) a través de la API de lista de tareas en cola de App Engine para acceder a ese mismo servicio con una nueva API de RPC/REST. Cloud Tasks se puede usar fuera de los entornos de ejecución de App Engine de primera generación, en particular, de todos los entornos flexibles de App Engine y de los entornos de ejecución estándar de App Engine de segunda generación.

Cloud Tasks y el servicio de listas de tareas en cola del entorno estándar de App Engine actual existen en el mismo universo. Puedes agregar a las mismas colas a través de cualquiera de las API. Independientemente de si usas el SDK de App Engine o la nueva API de Cloud Tasks , una cola dentro de la app reenvía una tarea a una URL de controlador para el procesamiento asíncrono.

Funciones nuevas

Cloud Tasks ofrece algunas funciones que no están disponibles con el SDK de App Engine, incluidas las siguientes:

  • Administración de colas mediante la API:

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

  • Comando para mostrar todas las colas:

    Puedes visualizar una lista de todas las colas configuradas en tu proyecto.

  • Comando para mostrar todas las tareas:

    Puedes visualizar una lista de todas las tareas de cualquiera de tus colas.

  • Integración de administración de identidades y accesos (IAM):

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

  • Destinos de HTTP

    Puedes apuntar a los controladores en cualquier extremo HTTP con una dirección IP pública.

Funciones de Task Queues que todavía no están disponibles mediante la API de Cloud Tasks:

  • Listas de extracción:

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

  • Tareas transaccionales:

    Cloud Tasks no permite poner una tarea en cola como parte de una transacción de Cloud Datastore para que la tarea solo esté en cola, y se garantice que esté en cola, si la transacción se confirma correctamente.

  • Tareas postergadas o demoradas:

    En algunos casos, es posible que necesites una serie de tareas pequeñas y diversas que se controlen de forma asíncrona, pero no quieras configurar los controladores individuales, por lo que el SDK de App Engine te permite usar entornos de ejecución específicos a fin de crear funciones simples para administrar las tareas. Esta función no se encuentra disponible en Cloud Tasks. Sin embargo, ten en cuenta que las tareas normales sí pueden programarse para el futuro con Cloud Tasks.

  • Espacios de nombres:

    Algunos de los entornos de ejecución del SDK de App Engine tienen API que admiten el control multiusuario de tareas según el espacio de nombres. Esta función no se encuentra disponible en Cloud Tasks.

  • Emulador local:

    El servidor de desarrollo local que proporciona gcloud CLI o el SDK de App Engine no admite extremos simulados para las llamadas a la API de Cloud Tasks.

  • Tarea asíncrona agregada:

    Los usuarios del SDK de App Engine pueden optar por agregar tareas a las colas de forma asíncrona. Esta función no se encuentra disponible en Cloud Tasks.

Más información

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