NoeudCron
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.
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
5var 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
5var 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
5var 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/2
c'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
5var 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
5var 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
5var 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
7var 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
7var 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
7var 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
4var 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.