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 cronnor
API
Cron(notation, func, [status])
Crée une tâche cronée, où :
notation
contient la ou les notations cron indiquant quand sera appelé la fonction ;func
est la fonction appelée à chaque horaire indiqué dans la notation ;status
est un booléen indiquant si la tâche est active :true
(valeur par défaut), sinon :false
.
Le constructeur peut lancer une exception :
Error
si la syntaxe de la notation cron est incorrecte ;RangeError
si un intervalle est invalide (hors limite ou quand la borne supérieure est plus grande que la borne inférieure) ;TypeError
si le constructeur est appelé sans le mot clénew
ou 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 :
1
oujan
,2
oufeb
, …,12
oudec
; - le jour de la semaine :
0
,7
ousun
,1
oumon
, …,6
ousat
.
Pour chaque élément, des compositions sont possibles :
*
: couvrir toutes les unités (0
,1
,2
, …) ;-
: définir un intervalle (1-3
corresponds aux unités1
,2
et3
) ;/
: indiquer le pas (2-6/2
corresponds aux unités2
,4
et6
) ;,
: créer une liste (4,8
corresponds aux unités4
et8
).
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.