Configurer des planifications de tâches Cron

Les tâches Cron sont planifiées à des intervalles réguliers, spécifiés à l'aide d'un format basé sur unix-cron. Vous pouvez définir une planification afin que votre tâche s'exécute plusieurs fois par jour, ou s'exécute certains jours et mois. Bien que nous ne vous recommandions plus de l'utiliser, l'ancienne syntaxe Cron d'App Engine est toujours compatible avec 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 sur une ligne, indiquant la date d'exécution de la tâche.

Format de chaîne unix-cron

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

Les champs de type "heure" présentent le format et les valeurs possibles suivants, et doivent respecter l'ordre suivant:

Champ Format des valeurs valides
Minute 0-59
Heure 0-23
jour du mois 1-31
Month 1-12 (ou JAN vers DEC)
Jour de la semaine 0-6 (ou DIM au SAM ; 7 pour dimanche)

Caractères spéciaux

  • Un champ peut contenir un astérisque (*), qui signifie toujours "premier-dernier&quot".
  • Les plages correspondent à deux nombres séparés par un trait d'union (-), et la plage spécifiée est inclusive.
  • Si vous suivez une plage avec /NUMBER, vous ignorez les valeurs de la valeur"number"via la plage. Par exemple, vous pouvez utiliser 0-23/2 et */2 dans le champ "Heure" 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 "Mois" 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 la console (sur la page Créer une tâche, sélectionnez un fuseau horaire dans la liste) ou via l'indicateur 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 ou l'exécution inattendue de tâches. En effet, Cloud Scheduler s'exécute au moment de l'horloge murale. Dans les cas où une heure peut se produire deux fois, par exemple lorsque les horloges sont en arrière et que la tâche est planifiée à ce moment-là, la 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 envisager de choisir un fuseau horaire qui n'observe pas l'heure d'été. En particulier, nous vous recommandons d'utiliser le fuseau horaire UTC pour Cloud Scheduler afin d'éviter tout problème.

Exemples de calendrier

Le tableau suivant présente quelques exemples de plannings 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
Chaque lundi à 9h (9h) 0 9 * * 1
Tous les dimanches à 4h05 (4h05) 5 4 * * SUN
Tous les jours de la semaine (lun-ven) à 22h (22h) 0 22 * * 1-5