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:
-
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.
-
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.
-
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.
-
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.
-
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:
- Migra desde las listas de extracción de Python 2.7 a Pub/Sub
- Migra desde las listas de aplicaciones en cola de Python 2.7 a Cloud Tasks
- Migra desde las listas de extracción de Java 8 a Pub/Sub
- Migra desde las listas de aplicaciones en cola de Java 8 a Cloud Tasks