Acerca de Cloud Scheduler

Con Cloud Scheduler, puedes configurar unidades de trabajo programadas para que se ejecuten en horarios definidos o a intervalos regulares. Estas unidades de trabajo se conocen comúnmente como trabajos cron. Los casos de uso típicos pueden incluir enviar un informe a diario por correo electrónico, actualizar algunos datos almacenados en caché cada 10 minutos o actualizar información de resumen cada una hora.

Cada trabajo cron creado con Cloud Scheduler se envía a un destino según un programa especificado, en el que se realiza el trabajo para la tarea. El destino deber ser uno de los siguientes tipos:

Cloud Scheduler está diseñado para proporcionar una entrega al menos una vez, es decir, el trabajo se ejecutará al menos una vez por ejecución programada. En algunas circunstancias excepcionales, es posible que un trabajo se ejecute varias veces en asociación con una sola instancia del programa, por lo que tu código debe garantizar que no haya efectos secundarios perjudiciales de la ejecución repetida. Tus destinos deben ser idempotentes.

Puedes crear trabajos cron con la consola de Cloud o la herramienta de línea de comandos de gcloud.

Regiones admitidas por destino

Si tu destino es un extremo HTTP/S o un tema de Pub/Sub, Cloud Scheduler está disponible en todas las regiones de Google Cloud compatibles para Cloud Scheduler.

Si tu destino es una aplicación de App Engine ubicada en tu proyecto actual, haz lo siguiente:

  • Un trabajo de Cloud Scheduler orientado a App Engine solo se puede crear en la región de App Engine del proyecto.

  • Un proyecto de Google Cloud solo puede contener una app de App Engine, y la región en la que se encuentra la app de App Engine no se puede cambiar una vez que se crea la app.

  • App Engine es regional, lo que significa que la infraestructura que ejecuta tu app se ubica en una región específica. Si deseas distribuir el procesamiento y los trabajos en varias regiones, debes segmentar un extremo HTTP/S o un tema de Pub/Sub.

  • Si no usas App Engine como destino, no necesitas implementar una app de App Engine y puedes inhabilitar cualquier app de App Engine existente.

Política de reintentos de trabajos

Si un trabajo de Cloud Scheduler no se completa correctamente y no se recibe un reconocimiento del controlador de trabajos, se vuelve a intentar con una retirada exponencial según la política de reintentos configurada.

Puedes configurar los parámetros que determinan el comportamiento de reintento. Para obtener más información, consulta Reintenta trabajos.

Anulación de duplicación de solicitudes de trabajo

Cloud Scheduler proporciona al menos una entrega. Se pueden producir solicitudes de trabajo duplicadas para la misma ejecución programada si un destino tarda más en responder que la fecha límite de intento del trabajo (attemptDeadline) o si una interrupción transitoria de la red impide que Cloud Scheduler reciba la confirmación HTTP 2xx.

Para que el controlador de trabajos sea idempotente y se anule la duplicación de las solicitudes reintentadas, puedes usar los encabezados HTTP X-CloudScheduler-JobName y X-CloudScheduler-ScheduleTime que Cloud Scheduler incluye en las solicitudes. Para obtener más información, consulta Anula la duplicación de solicitudes de trabajo.