Aller au contenu
CronExplain

Explicateur d’expressions cron Quartz

Quartz Scheduler, la bibliothèque de tâches derrière de nombreuses applications Java, utilise un format cron plus riche que le crontab Unix. Collez une expression Quartz pour la lire en clair, vérifier ses prochaines exécutions et la convertir vers d’autres dialectes.

Signification

Quartz : secondes en premier, année facultative, 1 = dimanche. Un seul champ de jour doit valoir « ? ». Prend en charge L, W et #.

✓ Valide · Signification

À 12:00, de lundi à vendredi

Préréglages

10 prochaines exécutions

#En UTCVotre heure locale
1——
2——
3——
4——
5——
6——
7——
8——
9——
10——

La même planification dans d’autres dialectes

  • crontab standard0 12 * * 1-5
  • AWS EventBridgecron(0 12 ? * MON-FRI *)Les règles EventBridge utilisent l’UTC.
  • Spring0 0 12 * * MON-FRI

Générateur visuel

Choisissez des valeurs pour chaque champ. Le générateur produit une expression standard à cinq champs, convertie dans le dialecte choisi lorsque vous l’utilisez.

Minute
Heure
Jour du mois
Mois
Jour de la semaine
0 9 * * 1-5

Le format cron de Quartz

Une expression Quartz compte six ou sept champs : secondes, minutes, heures, jour du mois, mois, jour de la semaine et une année facultative. Par exemple, 0 0 12 ? * MON-FRI se déclenche à midi en semaine. Les jours sont numérotés de 1 (dimanche) à 7 (samedi), et les noms anglais comme MON ou FRI sont acceptés, y compris dans les plages.

La règle du point d’interrogation

Quartz ne permet pas de restreindre à la fois le jour du mois et le jour de la semaine. Exactement l’un des deux champs doit contenir « ? », qui signifie « aucune valeur précise ». 0 0 12 * * MON est donc invalide ; écrivez 0 0 12 ? * MON. L’explicateur le signale immédiatement.

Caractères spéciaux L, W et #

L signifie « dernier » : L dans le jour du mois est le dernier jour du mois, L-3 trois jours avant, et 6L dans le jour de la semaine est le dernier vendredi. W cherche le jour ouvré le plus proche d’une date sans quitter le mois : 15W se déclenche le jour ouvré le plus proche du 15, et LW est le dernier jour ouvré du mois. Le dièse choisit le n-ième jour de la semaine : 6#3 est le troisième vendredi.

Quartz en pratique

En Java, une expression Quartz est rattachée à un déclencheur, par exemple TriggerBuilder.newTrigger().withSchedule(CronScheduleBuilder.cronSchedule("0 0 12 ? * MON-FRI").inTimeZone(TimeZone.getTimeZone("Europe/Paris"))). Sans inTimeZone, c’est le fuseau par défaut de la JVM qui s’applique. Les instructions de misfire déterminent ce qui se passe si le planificateur était arrêté à l’heure prévue : déclencher une fois tout de suite ou passer au créneau suivant.

Questions fréquentes

Quelle différence entre le cron Quartz et le cron Unix ?
Quartz ajoute un champ secondes au début et une année facultative à la fin, numérote les jours à partir de 1 = dimanche, exige « ? » dans un champ de jour et prend en charge L, W et #.
Puis-je convertir une expression Quartz en crontab ?
Oui, à condition que les secondes valent 0, qu’aucune année ne soit fixée et que L, W ou # ne soient pas utilisés. Le convertisseur affiche l’équivalent crontab ou explique pourquoi il n’existe pas.
Que signifie 0 0/5 * * * ?
Elle se déclenche toutes les cinq minutes, à la seconde 0, à partir de la minute 0 de chaque heure, tous les jours.
Le cron @Scheduled de Spring est-il identique à Quartz ?
Très proche, mais Spring numérote dimanche 0 ou 7, n’a pas de champ année et n’exige pas « ? ». Utilisez la page Spring pour les expressions Spring.