0.3.1 • Published 9 years ago

scronpt v0.3.1

Weekly downloads
30
License
Licence Public Ri...
Repository
github
Last release
9 years ago

Scronpt

NPM Bower Module Dependencies Code Climate SemVer License

Bibliothèque JavaScript implémentant un programme Unix cron.

Site Internet

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, ...])

  • notation contient la notation cron indiquant quand sera appelé la fonction ;
  • état est un booléen indiquant si la tâche est active : true (valeur par défaut), sinon : false ;
  • fonction est la fonction qui sera appelée à chaque horaire indiqué dans la notation ;
  • param1, param2, ... sont des paramètres qui seront passés à la fonction.

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 la borne supérieure est plus grande que la borne inférieure) ;
  • TypeError si le constucteur est appellé sans le mot clé new ou 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 scronpt

Utilisation

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 :

  1. les minutes : 0 à 59 ;
  2. les heures : 0 à 23 ;
  3. le jour du mois : 0 à 31 ;
  4. le mois : 1 ou jan, 2 ou feb, ..., 12 ou dec ;
  5. le jour de la semaine : 0, 7 ou sun, 1 ou mon, ..., 6 ou sat.

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és 1, 2 et 3) ;
  • / : indiquer le pas (2-6/2 corresponds aux unités 2, 4 et 6) ;
  • , : créer une liste (4,8 corresponds aux unités 4 et 8).

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.

ChromeFirefoxInternet ExplorerOperaSafari
459125
0.3.1

9 years ago

0.3.0

10 years ago

0.2.3

10 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago