Crear y gestionar tareas cron en App Engine

Clase 16 de 29Curso de Google App Engine

Contenido del curso

Resumen

Configurar tareas automáticas en App Engine con cron es rápido y fiable: define un horario simple en inglés, publica con deploy y monitorea en Stack Driver con logs. Aquí se explica cómo escribir el archivo de cron jam, dónde colocarlo, cómo programar el schedule diario y cómo ejecutarlo y observarlo desde el dashboard de App Engine.

¿Qué son y cómo funcionan las tareas cron en App Engine?

Las tareas cron son ejecuciones automáticas que puedes programar en fechas y horas específicas con un formato sencillo. Se invocan por temas de HTTP como GET u otros protocolos necesarios.

  • Ejecución automática programada. Permite correr trabajos en horarios definidos con palabras en inglés.
  • Invocación por HTTP. Soporta GET y otros protocolos según necesidad.
  • Límite de tiempo. Por lo regular, cada cron tiene hasta 10 minutos de ejecución.
  • Observabilidad en Stack Driver. Errores y comportamiento general se revisan en los logs.

Para diagnosticar fallos o entender por qué no se completó un cron, revisa Stack Driver en la sección de logs: allí verás errores y trazas del comportamiento.

¿Cómo se escribe el archivo cron jam y dónde colocarlo?

El archivo de cron jam debe colocarse al mismo nivel que el documento del App Jam, igual que las task queues. El formato es directo: una descripción, la URL que identifica el cron, el schedule en inglés y la timezone.

cron: - description: "Entrega diaria de reporte" url: "Entregar reporte" schedule: "every day at 2:30" timezone: "zona horaria en la que nos encontramos"
  • description: explica brevemente qué hace el cron.
  • url: ruta con la que se distingue el cron y que será invocada.
  • schedule: palabras en inglés y la hora exacta del día.
  • timezone: zona horaria que se usará para el agendamiento.

Este ejemplo programa un reporte diario: cada día a las dos y media se ejecuta la URL indicada para generar y entregar el reporte.

¿Cómo hacer deploy y monitorear el cron desde App Engine?

Después de guardar el archivo de cron, realiza un deploy del proyecto para publicar la nueva versión que incluye el cron. Asegúrate de estar en el proyecto y cuenta correctos antes de desplegar.

¿Se puede desplegar solo el archivo cron?

Sí: además del deploy completo del proyecto (por ejemplo, versión cinco), es posible desplegar únicamente el archivo de cron jam indicando el nombre del archivo en el comando de deploy.

¿Dónde ver y ejecutar el job en App Engine?

En el dashboard de App Engine, ve a versiones para confirmar la nueva versión y el cambio automático de tráfico. Luego abre task queues y entra a Cron Jobs:

  • Ver el job. Aparece con su descripción y horario configurado.
  • Ejecución manual. Usa la opción de run para correrlo cuando lo necesites.
  • Visualizar logs. Desde Stack Driver en logging o con la opción de view en el propio listado del cron.

Así podrás configurar un cron simple, desplegarlo y mantenerlo bajo control con los logs y ejecuciones manuales cuando haga falta. ¿Tienes otra idea de automatización con cron en App Engine? Cuéntala y conversemos cómo agendarla y observarla mejor.