L'analyse et la validation des configurations de planification de tâches représentent des étapes cruciales pour les développeurs, les gestionnaires d'infrastructure et le personnel de soutien technique. L'outil « Analyseur d'expressions cron » permet de décomposer instantanément une expression cron en ses différents composants individuels afin d'en valider la syntaxe et d'anticiper précisément les moments d'exécution.
Fonctionnement et traitement local
Cet outil fonctionne entièrement au sein du navigateur Web de l'utilisateur. L'analyse de l'expression saisie s'effectue localement: aucune donnée n'est transmise à BroBroGo, ce qui garantit la confidentialité des configurations de planification.
Lorsqu'une expression valide est soumise, l'outil affiche une décomposition détaillée champ par champ ainsi qu'une liste des prochaines exécutions calculées. Si le champ de saisie est vide, l'outil retourne à l'état initial et affiche le message « Saisissez une expression cron pour l'analyser. ».
Paramètres d'entrée et formats pris en charge
L'interface accepte deux paramètres principaux pour effectuer l'analyse:
- Expression cron: Un champ de saisie textuel sur une seule ligne. L'outil accepte la syntaxe standard à 5 champs, ordonnés de la manière suivante: minute, heure, jour du mois, mois et jour de la semaine. Un exemple d'entrée type est
*/15 9-17 * * MON-FRI. - Nombre: Un champ numérique permettant de définir la quantité de prochaines exécutions à afficher, acceptant une valeur comprise entre 1 et 20.
Syntaxes et raccourcis acceptés
L'analyseur prend en charge les notations standards suivantes:
- Plages de valeurs: Par exemple,
1-5. - Pas (intervalles): Par exemple,
*/15. - Listes: Par exemple,
1,15. - Noms abrégés: Les mois (comme
JAN) et les jours de la semaine (commeMON). - Raccourcis prédéfinis: Les expressions
@yearly,@monthly,@weekly,@dailyet@hourly.
Le système ne prend pas en charge le sixième champ optionnel dédié aux secondes, ni les extensions spécifiques à Quartz telles que L, W ou #.
Décomposition du planning et interprétation des champs
L'outil traduit chaque segment de l'expression cron pour en faciliter la lecture sous la section « Décomposition du planning ». Les correspondances s'établissent ainsi:
- Minute: Affiche la valeur analysée pour le champ des minutes.
- Heure: Affiche la valeur analysée pour le champ des heures.
- Jour du mois: Affiche la valeur analysée pour le jour du mois.
- Mois: Affiche la valeur analysée pour le mois.
- Jour de la semaine: Affiche la valeur analysée pour le jour de la semaine.
Pour les caractères génériques et les structures à intervalles, l'outil applique des règles de traduction précises:
- Le caractère générique
*est traduit par « N'importe lequel ». - La structure de pas
*/nest traduite selon le champ concerné par: « Toutes les{n}minutes », « Toutes les{n}heures », « Tous les{n}jours » (pour le jour du mois), « Tous les{n}mois » ou « Tous les{n}jours » (pour le jour de la semaine).
Gestion des erreurs et cas particuliers de planification
Le comportement de l'analyseur varie selon la validité et la cohérence logique de l'expression soumise:
- Syntaxe incorrecte: Si l'expression ne respecte pas la structure attendue, l'outil affiche le message « Expression cron invalide. ».
- Incohérence de calendrier: Si l'expression est syntaxiquement correcte mais décrit un événement impossible à réaliser, l'outil affiche le message d'erreur: « Ce planning ne peut jamais se produire — vérifiez s'il n'y a pas un jour du mois absent de l'un des mois sélectionnés. ». Ce cas de figure se produit notamment lorsqu'un utilisateur configure le jour 31 pour des mois qui n'en comptent que 30 ou moins, comme avril, juin, septembre ou novembre.
- Règle d'exclusion mutuelle des jours: Lorsque le jour du mois et le jour de la semaine sont tous deux restreints (c'est-à-dire qu'aucun d'eux n'utilise le caractère
*), le planificateur exécutera la tâche dès que l'une ou l'autre de ces conditions est remplie.
Fuseau horaire et prévisualisation des exécutions
La liste des prochaines exécutions s'affiche sous l'étiquette « Prochaines exécutions ». Les dates et heures de cette liste sont calculées et présentées selon le fuseau horaire local du navigateur de l'utilisateur, accompagné de la mention « (votre heure locale) ». L'interface indique également le volume de données générées via la mention « Exécutions affichées ».
Foire aux questions
Quelle syntaxe cron cet outil prend-il en charge?
Le format cron standard à 5 champs — minute, heure, jour du mois, mois et jour de la semaine — incluant les plages (1-5), les pas (*/15), les listes (1,15), les noms de mois et de jours abrégés (JAN, MON), ainsi que les raccourcis @yearly/@monthly/@weekly/@daily/@hourly. Une règle importante: lorsque le jour du mois et le jour de la semaine sont tous deux restreints (différents de *), il suffit que l'un des deux corresponde.
Dans quel fuseau horaire les prochaines exécutions sont-elles affichées?
Le fuseau horaire local de votre navigateur — le même que celui de l'horloge de votre système. Le format cron standard ne contient pas de fuseau horaire propre; c'est le planificateur de tâches qui l'exécute qui le détermine. Considérez donc ces heures comme un aperçu selon votre heure locale, pas forcément celle du serveur.
Pourquoi le message indique-t-il que ce planning ne peut jamais se produire?
Il s'agit généralement d'une valeur de jour du mois qui n'existe pas dans tous les mois sélectionnés — par exemple, le jour 31 avec avril, juin, septembre ou novembre dans le champ mois. Choisissez un jour qui existe dans tous les mois indiqués, ou séparez le planning en plusieurs expressions distinctes.