Configurer des planifications de tâches Cron

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Les tâches Cron sont planifiées à intervalles réguliers, spécifiés à l'aide d'un format basé sur unix-cron. Vous pouvez définir une planification pour que votre tâche s'exécute plusieurs fois par jour, ou certains jours et mois. Bien que nous ne recommandions plus son utilisation, l'ancienne syntaxe Cron App Engine est toujours acceptée pour les tâches existantes.

Format de la tâche Cron

Une planification est définie à l'aide du format de chaîne unix-cron (* * * * *), qui est un ensemble de cinq champs dans une ligne, indiquant quand la tâche doit être exécutée.

format de chaîne unix-cron

Vous pouvez définir votre planification à l'aide de Google Cloud Console, de Google Cloud CLI ou de l'API REST de Cloud Scheduler.

Les champs de type date/heure ont le format et les valeurs possibles suivants, et doivent suivre l'ordre suivant:

Champ Format des valeurs valides
Minute 0-59
Heure 0-23
jour du mois 1-31
Month 1 – 12 (ou de janvier à décembre)
Jour de la semaine 0-6 (ou DIM à SAT ; 7 pour dimanche)

Caractères spéciaux

  • Un champ peut contenir un astérisque (*), qui signifie toujours"premier-dernier".
  • Les plages sont composées de deux chiffres séparés par un trait d'union (-), et la plage spécifiée est inclusive.
  • Le fait de suivre une plage avec /NUMBER spécifie des sauts de la valeur du nombre dans la plage. Par exemple, 0-23/2 et */2 peuvent tous deux être utilisés dans le champ Hour pour spécifier l'exécution toutes les deux heures.
  • Une liste est un ensemble de nombres (ou plages) séparés par une virgule (,). Par exemple, 1,2,5,6 dans le champ Day of the month spécifie une exécution les premier, deuxième, cinquième et sixième jours du mois.

Fuseau horaire

Vous pouvez sélectionner le fuseau horaire pour évaluer la planification dans Google Cloud Console (sur la page Créer une tâche, sélectionnez un fuseau horaire dans la liste) ou via l'option gcloud --time-zone lorsque vous créez la tâche. Le fuseau horaire par défaut est Etc/UTC.

Pour certains fuseaux horaires, l'heure d'été peut entraîner l'exécution de tâches de manière inattendue. En effet, Cloud Scheduler s'exécute sur la durée d'exécution. Dans les cas où une heure peut se produire deux fois (par exemple, dans le cas des horloges rétrogradées) et que votre tâche est planifiée à ce moment-là, votre tâche planifiée peut observer des anomalies d'exécution.

Si votre tâche nécessite une cadence très spécifique, vous pouvez choisir un fuseau horaire qui n'observe pas l'heure d'été. Plus précisément, il est recommandé pour Cloud Scheduler d'éviter tout ce problème.

Exemples de calendrier

Le tableau suivant présente des exemples de planification de tâches Cron et leur description:

Exemple de calendrier Format de la tâche Cron
Toutes les minutes * * * * *
Tous les samedis à 23h45 45 23 * * 6
Tous les lundis à 09h (09h) 0 9 * * 1
Chaque dimanche à 4h05 (4h05) 5 4 * * SUN
Tous les jours de la semaine (du lundi au vendredi) à 22h (22h) 0 22 * * 1-5