Nodo Cron
O módulo node-cron é un pequeno programador de tarefas en JavaScript puro para node.js baseado en GNU crontab . Este módulo permítelle programar tarefas en node.js usando a sintaxe completa de crontab.
Comezando
Instalar node-cron usando npm:
1$ npm install --save node-cron
Importa node-cron e programa unha tarefa:
1
2
3
4
5var cron = require('node-cron');
cron.schedule('* * * * *', function(){
console.log('running a task every minute');
});
Sintaxe Cron
Esta é unha referencia rápida á sintaxe de cron e tamén mostra as opcións admitidas por 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
campo | valor |
---|---|
segundo | 0-59 |
minuto | 0-59 |
hora | 0-23 |
día do mes | 1-31 |
mes | 1-12 (ou nomes) |
día da semana | 0-7 (ou nomes, 0 ou 7 son domingos) |
Usando valores múltiples
Podes usar varios valores separados por comas:
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');
});
Usando rangos
Tamén pode definir un rango de valores:
1
2
3
4
5var cron = require('node-cron');
cron.schedule('1-5 * * * *', function(){
console.log('running every minute to 1 from 5');
});
Usando valores de paso
Os valores de paso pódense usar xunto con rangos, seguindo un intervalo con '/' e un número. Por exemplo: 1-10/2
é o mesmo que 2,4,6,8,10
. Os pasos tamén se permiten despois dun asterisco, polo que se quere dicir "cada dous minutos" , só usa */2
.
1
2
3
4
5var cron = require('node-cron');
cron.schedule('*/2 * * * *', function(){
console.log('running a task every two minutes');
});
Usando nomes
Para o mes e o día da semana tamén podes usar nomes ou nomes curtos, por exemplo:
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 con nomes curtos:
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étodos Cron
Schedule
Programa a tarefa dada para executala sempre que marca a expresión cron.
Argumentos:
- ! string expression-Cron expression
- ! Función func-Task que se executará
- boolean? immediateStart-Indica se se inicia o planificador inmediatamente despois da creación.
Métodos ScheduledTask
Start
Inicia a tarefa 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
A tarefa non se executará a menos que se reinicie.
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
A tarefa será detida e completamente destruída.
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
Valida que a cadea dada é unha expresión cron válida.
1
2
3
4var cron = require('node-cron');
var valid = cron.validate('59 * * * *');
var invalid = cron.validate('60 * * * *');
Problemas
Non dubide en enviar problemas e solicitudes de mellora aquí .
Colaboradores
En xeral, seguimos o fluxo de traballo Git "fork-and-pull".
- Bifurque a reposición en GitHub;
- Confirma cambios nunha sucursal na túa bifurcación;
- Extrae a solicitude "arriba" cos seus cambios;
NOTA: Asegúrese de combinar o último de "upstream" antes de facer unha solicitude de extracción.
Por favor, non aportes código que non escribiches ti mesmo, a menos que esteas seguro de que tes a capacidade legal para facelo. Asegúrate tamén de que todo o código contribuído poida distribuírse baixo a licenza ISC.
Licenza
node-cron está baixo ISC License.