À propos de Cloud Scheduler

Avec Cloud Scheduler, vous pouvez configurer des unités de travail planifiées qui seront exécutées à des heures spécifiques ou à intervalles réguliers. Ces unités de travail sont communément appelées jobs Cron. Parmi les cas d'utilisation typiques, on peut citer l'envoi quotidien d'un e-mail de rapport, l'actualisation de certaines données mises en cache toutes les 10 minutes, ou encore la mise à jour d'informations de synthèse une fois par heure.

Chaque job Cron créé à l'aide de Cloud Scheduler est envoyé à une cible selon un calendrier spécifié, laquelle permet de préciser quand le travail associé à la tâche doit être accompli. La cible doit être l'un des types suivants :

Cloud Scheduler est conçu pour assurer une exécution au moins une fois. Autrement dit, le job s'exécutera au moins une fois par exécution planifiée. Dans de rares cas, il est possible qu'un job s'exécute plusieurs fois en association avec une seule instance de la planification. Votre code doit donc s'assurer qu'une exécution répétée n'entraîne pas d'effets secondaires nuisibles. Vos cibles doivent être idempotentes.

Vous pouvez créer des jobs Cron à l'aide de la console Cloud ou de l'outil de ligne de commande gcloud.

Régions prises en charge par cible

Si votre cible est un point de terminaison HTTP/S ou un sujet Pub/Sub, Cloud Scheduler est disponible dans toutes les régions Google Cloud compatibles pour Cloud Scheduler.

Si votre cible est une application App Engine située dans votre projet actuel :

  • Un job Cloud Scheduler ciblant App Engine ne peut être créé que dans la région App Engine du projet.

  • Un projet Google Cloud ne peut contenir qu'une seule application App Engine, et la région où se trouve l'application App Engine ne peut pas être modifiée une fois l'application créée.

  • App Engine est régional, ce qui signifie que l'infrastructure qui exécute votre application est située dans une région spécifique. Si vous souhaitez répartir le calcul et les jobs sur plusieurs régions, vous devez plutôt cibler un point de terminaison HTTP/S ou un sujet Pub/Sub.

  • Si vous n'utilisez pas App Engine comme cible, vous n'avez pas besoin de déployer une application App Engine et vous pouvez désactiver toute application App Engine existante.

Règle de nouvelle tentative pour les jobs

Si un job Cloud Scheduler ne se termine pas correctement et qu'aucun accusé de réception n'est reçu du gestionnaire de jobs, il est relancé avec un intervalle exponentiel entre les tentatives, conformément à la règle de relance configurée.

Vous pouvez configurer les paramètres qui déterminent le comportement des nouvelles tentatives. Pour en savoir plus, consultez Réessayer des jobs.

Déduplication des requêtes de job

Cloud Scheduler fournit une distribution de type "au moins une fois". Des requêtes de job en double pour la même exécution planifiée peuvent se produire si une cible met plus de temps à répondre que le délai avant expiration de la tentative du job (attemptDeadline) ou si une interruption temporaire du réseau empêche Cloud Scheduler de recevoir l'accusé de réception HTTP 2xx.

Pour rendre votre gestionnaire de jobs idempotent et dédupliquer les requêtes relancées, vous pouvez utiliser les en-têtes HTTP X-CloudScheduler-JobName et X-CloudScheduler-ScheduleTime que Cloud Scheduler inclut dans les requêtes. Pour en savoir plus, consultez Dédupliquer les requêtes de job.