Déclencheur horodaté
-
Ce déclencheur automatique permet de planifier l’exécution d’actions à intervalle régulier, suivant un planning.
Cela offre une alternative à cron, permettant notamment de centraliser la configuration des exécutions, les avoir en base de données, avoir un suivi utilisant les liens métiers offerts par it.rocks.
Le paramétrage manuel des actions à déclenchement horodaté peut se faire via l’URI /ITRocks/Framework/Trigger/Schedules.
Réglages
Chaque réglage est limitant : si aucun réglage d’un type n’est saisi, toutes les valeurs sont bonnes. Par exemple heures vides => s’exécutera à toute heure, sauf autre restriction.
- Nom : un nom pour votre déclencheur
- Heures : vous pouvez saisir plusieurs heures d’exécution dans la journée : par exemple 7,8,10,12:15 pour une exécution à 7h, 8h, 10h, et 12h15.
- Jours du mois : ici les dates, si on n’exécute pas les actions tous les jours du mois : par exécution les 1,3,10,20 du mois.
- Mois : si la tâche ne s’exécute que certains mois de l’année : par exemple 1,2,12 pour janvier, février et décembre.
- Années : on peut n’exécuter une tâche que certaines années, par exemple 2019,2020.
- Jours de la semaine : on peut limiter l’exécution à certains jours de la semaine seulement : cocher les jours.
- Tranches horaires : on peut définir des tranches d’exécution : par exemple toutes les 5 minutes, depuis 08:00 jusqu’à 18:00. C’est ici qu’on aura le niveau de réglage le plus fin pour des actions répétées plusieurs fois par jour. Si plusieurs tranches horaires se chevauchent, les exécutions les plus fréquentes sont prioritaires.
- Actions : on règle ici les actions déclenchées :
- action : l’URI de l’action exécutée. Par exemple /ITRocks/Framework/Trigger/Change/run. L’exécution sera déclenchée en mode console par le déclencheur automatique.
- en tant qu’utilisateur : on peut forcer l’utilisateur sous lequel l’action sera déclenchée : la fonctionnalité sera donc exécutée avec les droits de l’utilisateur choisi. Par défaut, l’appel sera fait sans utilisateur associé.
- enfin des champs informatifs : dernier, suivant, permettent de connaître la dernière heure où l’action a été déclenchée par l’horodatage, et la prochaine heure d’exécution planifiée.
Fonctionnement interne
Pour que les actions planifiées s’exécutent, il faut que le serveur d’exécution d’actions déclenchées soit en cours d’exécution.
- Les actions paramétrées sont stockées avec un statut static.
- Dès le premier enregistrement d’une action, la prochaine heure d’exécution est calculée en partant de l’heure de dernière exécution. Si aucune heure d’exécution (création), l’heure courante est prise comme heure de référence.
- Le serveur d’exécutions agira sur l’action dès que l’heure système aura atteint la prochaine date+heure d’exécution.
- Le serveur génère alors une action fille par action statique, et met à jour les heures de dernière et prochaine exécution de l’action statique et de la nouvelle action en attente.
- Dans la foulée, le serveur déclenche le lancement de l’action en attente : voir les statuts des actions et serveur d’exécution d’actions déclenchées pour avoir le détail du mode d’exécution.