Colas de Tareas

Clase 15 de 29Curso de Google App Engine

Contenido del curso

Resumen

Las colas de tareas en App Engine permiten ejecutar código en segundo plano con fiabilidad y control. Aquí verás cómo funcionan los tipos push y pull, cómo configurar el archivo queue.jam con parámetros como rate, bucketSize y retryParameters, y cómo hacer deploy con GCloud para validar tus task queues en la consola de Google Cloud.

¿Qué son y por qué usar colas de tareas en App Engine?

Las colas de tareas son una herramienta para desacoplar y procesar trabajos fuera del flujo principal. Funcionan con el principio first in y first out, lo que asegura orden en la ejecución. Son fáciles de configurar y muy potentes para responder a eventos y automatizar procesos.

¿Cómo funcionan las colas de tipo push?

  • Responden a eventos de la aplicación y ejecutan código configurado previamente.
  • Tienen límite de ejecución de diez minutos por tarea.
  • Se integran bien cuando necesitas procesar acciones tras una interacción del usuario o un evento del sistema.

¿Y qué hace una cola de tipo pull?

  • No se disparan por evento directo: reaccionan cuando otra cola o tarea es ejecutada.
  • Cuentan con un número finito de intentos; si se alcanza el límite y no se activa, dejan de intentarlo.

¿Cómo configurar queue.jam y la cola default?

El archivo de configuración es queue.jam, ubicado al mismo nivel que App Jam. Ahí defines tus queues y sus parámetros. La configuración inicial ilustra la default y sirve para entender los básicos.

¿Qué parámetros clave tiene la default?

  • nombre: default.
  • rate: cada cuánto se ejecuta. La default suele correr cada tres segundos.
  • bucketSize: cuántas tareas gestiona en el bucket de espera. Suele ser 3.
  • retryParameters: controla reintentos cuando una tarea falla.
    • límite de intentos: 5.
    • backoff seconds mínimo: 1.
    • backoff seconds máximo: 2.

Estos valores básicos cubren la mayoría de necesidades iniciales. Existen más parámetros, pero con esta base puedes operar con seguridad.

¿Cómo crear una cola personalizada como MailQueue?

Para una cola dedicada a enviar correos tras un evento del proyecto, define una nueva entrada que referencia la función en tu código y ajusta su cadencia.

Parámetros destacados:

  • nombre: MailQueue.
  • rate: 2000 por día.
  • bucket size: 10.

Con esto, la cola queda lista para ejecutarse cuando su nombre sea invocado desde el código de la aplicación.

¿Cómo desplegar con GCloud y validar en la consola?

Tras modificar queue.jam, realiza un nuevo deploy con la herramienta GCloud. Se recomienda versionar el despliegue, por ejemplo, subir de la versión tres a la versión cuatro.

¿Qué considerar antes del deploy con GCloud?

  • Asegura tu usuario y proyecto de Google Cloud correctos.
  • Verifica que el SDK apunte al proyecto adecuado para evitar errores de despliegue.

¿Dónde ver las task queues en la consola?

  • Ingresa al dashboard de tu proyecto en Google Cloud.
  • En App Engine, ve a la sección task queues.
  • Verás dos push queues: la default con su rate de tres segundos y bucketSize, y tu cola personalizada con máximo rate de 2000 veces por día y bucket size de 10. El campo running no fue especificado en la configuración.

Todo quedará visible y listo para ejecutarse cuando el nombre de la cola sea invocado en tu código.

¿Tienes un caso real para automatizar con una cola push o pull en App Engine? Cuéntalo y comenta cómo parametrizarías el rate, bucketSize y retryParameters.