Module communautaire génial

NoeudCron

npm npm Statut de couverture Code Climat Statut de construction Statut de dépendance Statut de dépendance dev

Le module node-cron est un petit 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 complète de crontab.

MNP

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
deuxième 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)

Utiliser plusieurs valeurs

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'); });

Utiliser des 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'); });

Utiliser des valeurs de pas

Les valeurs de pas peuvent être utilisées conjointement avec des plages, en suivant une plage avec "/" et un nombre. Par exemple : 1-10/2c'est la même chose que 2,4,6,8,10. Les pas sont également autorisés 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 que la tâche donnée soit exécutée chaque fois que l'expression cron est cochée.

Arguments:

  • !expression de chaîne - Expression Cron
  • !Function func - Tâche à exécuter
  • boolean?immediatStart - S'il faut démarrer le planificateur 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

Vérifiez 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 des problèmes et des demandes d'amélioration ici .

Contributeurs

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

  • Forkez le dépôt sur GitHub ;
  • Validez les modifications dans une branche de votre fork ;
  • Pull request « en amont » avec vos modifications ;

REMARQUE : assurez-vous de fusionner les dernières versions de « en amont » avant de faire une pull request !

Veuillez ne pas contribuer au code que vous n'avez pas écrit vous-même, sauf si vous êtes certain d'avoir la capacité légale de le faire. Assurez-vous également que tout le code contribué peut être distribué sous la licence ISC.

Licence

node-cron est sousISC License.