scronpt v0.3.1
Scronpt
Bibliothèque JavaScript implémentant un programme Unix cron.
Description
La bibliothèque JavaScript Scronpt fourni une classe Cron pour créer
des tâches récurentes.
API
Constructeur
new Cron(notation, [état], fonction, [param1, param2, ...])où
notationcontient la notation cron indiquant quand sera appelé lafonction;étatest un booléen indiquant si la tâche est active :true(valeur par défaut), sinon :false;fonctionest la fonction qui sera appelée à chaque horaire indiqué dans lanotation;param1,param2,...sont des paramètres qui seront passés à lafonction.
Le constructeur peut lancer une exception :
Errorsi la syntaxe de la notation cron est incorrecte ;RangeErrorsi un intervalle est invalide (hors limite ou la borne supérieure est plus grande que la borne inférieure) ;TypeErrorsi le constucteur est appellé sans le mot clénewou si des paramètres n'ont pas le bon type.
Méthodes
Cron.prototype.start()Activer la tâche. Si la tâche est déjà active : la méthode n'a aucun effet.
Cron.prototype.stop()Désactiver la tâche. Si la tâche est déjà inactive : la méthode n'a aucun effet.
Cron.prototype.status()Récupérer l'état de la tâche. La méthode retourne true si la tâche est
active ; et false pour une tâche inactive.
Téléchargement
Vous pouvez récupérer le script minifié (2 427 octets) en vous rendant sur le site Internet de la bibliothèque : regseb.github.io/scronpt.
Si vous utiliser npm ou bower, la bibliothèque est disponible avec les lignes de commande suivantes :
npm install scronpt
bower install scronptUtilisation
AMD
Pour l'utilisation de la bibliothèque avec un chargeur AMD (par exemple RequireJS) :
require(["scronpt"], function (Cron) {
// ...
var cron = new Cron(/* ... */);
});
// Ou :
define(["scronpt"], function (Cron) {
// ...
var cron = new Cron(/* ... */);
});CommonJS
Si vous souhaitez utiliser la bibliothèque dans Node.js (qui utilise le protocole CommonJS), voici un exemple :
var Cron = require("scronpt");
// ...
var cron = new Cron(/* ... */);Variable global
Il suffit de télécharger le script et de l'inclure dans la page HTML.
<!DOCTYPE html>
<html>
<head>
<!-- ... -->
<script src="scronpt.js"></script>
<!-- ... -->
<script>
var cron = new Cron(/* ... */);
</script>
</head>
<body>
<!-- ... -->
</body>
</html>Notations
Le paramètre notation est une chaine de caractères composées 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.
Exemples
// Appeler la fonction poissonDAvril tous les 1er avril à 8h00.
var cron = new Cron("0 8 1 apr *", poissonDAvril);
// Appeler la fonction alert toutes les demi-heures au travail (entre
// 9h et 18h) en semaine (du lundi au vendredi).
new Cron("0,30 9-18 * * 1-5", alert, "Ding ! Dong !");
// Arrêter la tâche du poisson d'avril, ce n'est plus de notre age.
cron.stop();
// Finalement, il n'y a pas d'age pour s'amuser.
cron.start();Compatibilité
Voici les versions minimales nécessaires pour utiliser la bibliothèque avec les principaux navigateurs.
| Chrome | Firefox | Internet Explorer | Opera | Safari |
|---|---|---|---|---|
| 4 | 5 | 9 | 12 | 5 |