Module communautaire génial

Node Cron

npm npm Statut de couverture Code climatique Statut de la construction Statut de dépendance DevDependency Status

Le module node-cron est un minuscule planificateur de tâches en JavaScript pur pour node.js basé sur GNU crontab . Ce module vous permet de planifier des tâches dans node.js en utilisant la syntaxe crontab complète.

NPM

Commencer

Installez node-cron à l'aide de npm:

1
$ npm install --save node-cron

Importez node-cron et planifiez une tâche:

1 2 3 4 5
var cron = require('node-cron'); cron.schedule('* * * * *', function(){ console.log('running a task every minute'); });

Syntaxe Cron

Il s'agit d'une référence rapide à la syntaxe cron et montre également les options prises en charge par node-cron.

Allowed fields

1 2 3 4 5 6 7 8 9
# ┌────────────── second (optional) # │ ┌──────────── minute # │ │ ┌────────── hour # │ │ │ ┌──────── day of month # │ │ │ │ ┌────── month # │ │ │ │ │ ┌──── day of week # │ │ │ │ │ │ # │ │ │ │ │ │ # * * * * * *

Allowed values

champ valeur
seconde 0-59
minute 0-59
heure 0-23
jour du mois 1-31
mois 1-12 (ou noms)
jour de la semaine 0-7 (ou noms, 0 ou 7 sont dimanche)

Utilisation de valeurs multiples

Vous pouvez utiliser plusieurs valeurs séparées par une virgule:

1 2 3 4 5
var cron = require('node-cron'); cron.schedule('1,2,4,5 * * * *', function(){ console.log('running every minute 1, 2, 4 and 5'); });

Utilisation de plages

Vous pouvez également définir une plage de valeurs:

1 2 3 4 5
var cron = require('node-cron'); cron.schedule('1-5 * * * *', function(){ console.log('running every minute to 1 from 5'); });

Utilisation de valeurs de pas

Les valeurs de pas peuvent être utilisées en conjonction avec des plages, après une plage avec '/' et un nombre. Par exemple: 1-10/2 qui est identique à 2,4,6,8,10 . Les étapes sont également autorisées après un astérisque , donc si vous voulez dire "toutes les deux minutes", utilisez simplement */2 .

1 2 3 4 5
var cron = require('node-cron'); cron.schedule('*/2 * * * *', function(){ console.log('running a task every two minutes'); });

Utiliser des noms

Pour le mois et le jour de la semaine, vous pouvez également utiliser des noms ou des noms courts, par exemple:

1 2 3 4 5
var cron = require('node-cron'); cron.schedule('* * * January,September Sunday', function(){ console.log('running on Sundays of January and September'); });

Ou avec des noms courts:

1 2 3 4 5
var cron = require('node-cron'); cron.schedule('* * * Jan,Sep Sun', function(){ console.log('running on Sundays of January and September'); });

Méthodes Cron

Schedule

Planifie l'exécution de la tâche à chaque fois que l'expression cron se déclenche.

Arguments:

  • ! string expression-Cron expression
  • ! Fonction func-Tâche à exécuter
  • boolean? immediateStart - Indique si le planificateur doit démarrer immédiatement après la création.

Méthodes ScheduledTask

Start

Démarre la tâche planifiée.

1 2 3 4 5 6 7
var cron = require('node-cron'); var task = cron.schedule('* * * * *', function() { console.log('immediately started'); }, false); task.start();

Stop

La tâche ne sera exécutée que si elle est redémarrée.

1 2 3 4 5 6 7
var cron = require('node-cron'); var task = cron.schedule('* * * * *', function() { console.log('will execute every minute until stopped'); }); task.stop();

Destroy

La tâche sera arrêtée et complètement détruite.

1 2 3 4 5 6 7
var cron = require('node-cron'); var task = cron.schedule('* * * * *', function() { console.log('will not execute anymore, nor be able to restart'); }); task.destroy();

Validate

Validez que la chaîne donnée est une expression cron valide.

1 2 3 4
var cron = require('node-cron'); var valid = cron.validate('59 * * * *'); var invalid = cron.validate('60 * * * *');

Problèmes

N'hésitez pas à soumettre les problèmes et demandes d'amélioration ici .

Contributeurs

En général, nous suivons le workflow Git "fork-and-pull".

  • Fork le repo sur GitHub;
  • Validez les modifications sur une branche de votre fork;
  • Tirez la demande "en amont" avec vos modifications;

REMARQUE: assurez-vous de fusionner la dernière version "en amont" avant de faire une demande d'extraction!

Veuillez ne pas fournir de code que vous n'avez pas rédigé vous-même, sauf si vous êtes certain d'avoir la capacité juridique de le faire. Assurez-vous également que tout le code fourni peut être distribué sous la licence ISC.

Licence

node-cron est sous ISC License .