Cronnor
Bibliothèque JavaScript implémentant un programme cron.
Description
La bibliothèque JavaScript Cronnor fournit une classe Cron pour créer
des tâches récurrentes.
import { Cron } from "cronnor";
function task() {
// Awesome task to be done every working day at 8am.
};
const cron = new Cron("0 8 * * 1-5", task);Installation
npm install cronnorAPI
Cron(notation, func, [status])
Crée une tâche cronée, où :
notationcontient la ou les notations cron indiquant quand sera appelé la fonction ;funcest la fonction appelée à chaque horaire indiqué dans la notation ;statusest un booléen indiquant si la tâche est active :true(valeur par défaut), sinon :false.
Le constructeur peut lancer une exception :
Errorsi la syntaxe de la notation cron est incorrecte ;RangeErrorsi un intervalle est invalide (hors limite ou quand la borne supérieure est plus grande que la borne inférieure) ;TypeErrorsi le constructeur est appelé sans le mot clénewou si des paramètres n’ont pas le bon type.
.status (lecture seule)
Récupérer l’état de la tâche. La propriété contient true si la tâche est
active ; et false pour une tâche inactive.
.start()
Activer la tâche. Si la tâche est déjà active : la méthode n’a aucun effet.
.stop()
Désactiver la tâche. Si la tâche est déjà inactive : la méthode n’a aucun effet.
Notations
Le paramètre notation est une chaine de caractères composée de cinq éléments
séparés par une espace. Les éléments représentent :
- les minutes :
0à59; - les heures :
0à23; - le jour du mois :
0à31; - le mois :
1oujan,2oufeb, …,12oudec; - le jour de la semaine :
0,7ousun,1oumon, …,6ousat.
Pour chaque élément, des compositions sont possibles :
*: couvrir toutes les unités (0,1,2, …) ;-: définir un intervalle (1-3corresponds aux unités1,2et3) ;/: indiquer le pas (2-6/2corresponds aux unités2,4et6) ;,: créer une liste (4,8corresponds aux unités4et8).
Il existe aussi des chaines spéciales :
"@yearly"ou"@annually": tous les ans, le 1er janvier ;"@monthly": le 1er jour de chaque mois ;"@weekly": une fois par semaine, le dimanche ;"@daily"ou"@midnight": tous les jours à minuit ;"@hourly": toutes les heures.
Pour plus d’information, vous pouvez consulter le manuel de crontab.