NodeCron
El mòdul node-cron és un petit planificador de tasques en JavaScript pur per a node.js basat en GNU crontab . Aquest mòdul us permet programar tasques a node.js utilitzant la sintaxi crontab completa.
Començant
Instal·leu node-cron mitjançant npm:
1$ npm install --save node-cron
Importa node-cron i programa una tasca:
1
2
3
4
5var cron = require('node-cron');
cron.schedule('* * * * *', function(){
console.log('running a task every minute');
});
Sintaxi de Cron
Aquesta és una referència ràpida a la sintaxi de cron i també mostra les opcions admeses per 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
camp | valor |
---|---|
segon | 0-59 |
minut | 0-59 |
hores | 0-23 |
dia del mes | 1-31 |
mes | 1-12 (o noms) |
dia de la setmana | 0-7 (o els noms, 0 o 7 són diumenge) |
Ús de múltiples valors
Podeu utilitzar múltiples valors separats per comes:
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');
});
Ús de rangs
També podeu definir un rang de valors:
1
2
3
4
5var cron = require('node-cron');
cron.schedule('1-5 * * * *', function(){
console.log('running every minute to 1 from 5');
});
Ús de valors de pas
Els valors de pas es poden utilitzar juntament amb intervals, seguint un interval amb '/' i un número. Per exemple: 1-10/2
és el mateix que 2,4,6,8,10
. També es permeten passos després d'un asterisc, per tant, si voleu dir "cada dos minuts" , només utilitza */2
.
1
2
3
4
5var cron = require('node-cron');
cron.schedule('*/2 * * * *', function(){
console.log('running a task every two minutes');
});
Ús de noms
Per al mes i el dia de la setmana també podeu utilitzar noms o noms curts. Per 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');
});
O amb noms curts:
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ètodes Cron
Schedule
Planifica la tasca donada per executar-se sempre que l'expressió cron marca.
Arguments:
- !string expression - Expressió Cron
- !Funció func - Tasca a executar
- boolean?immediateStart: si s'ha d'iniciar el planificador immediatament després de crear-lo.
Mètodes ScheduledTask
Start
Inicia la tasca programada.
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 tasca no s'executarà tret que es torni a iniciar.
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 tasca s'aturarà i es destruirà completament.
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
Valideu que la cadena donada és una expressió cron vàlida.
1
2
3
4var cron = require('node-cron');
var valid = cron.validate('59 * * * *');
var invalid = cron.validate('60 * * * *');
Problemes
No dubteu a enviar problemes i sol·licituds de millora aquí .
Col·laboradors
En general, seguim el flux de treball de Git "fork-and-pull".
- Bifurca el repo a GitHub;
- Confirmeu els canvis a una branca de la vostra bifurcació;
- Traieu la sol·licitud "aigües amunt" amb els vostres canvis;
NOTA: Assegureu-vos de combinar l'últim de "aigües amunt" abans de fer una sol·licitud d'extracció!
Si us plau, no aporteu codi que no heu escrit vosaltres mateixos, tret que estigueu segur que teniu la capacitat legal de fer-ho. Assegureu-vos també que tot el codi aportat es pugui distribuir sota la llicència ISC.
llicència
node-cron està sotaISC License.