NodeCron
O módulo node-cron é un pequeno programador de tarefas en JavaScript puro para node.js baseado en crontab GNU . Este módulo permítelle programar tarefas en node.js usando a sintaxe crontab completa.
Comezando
Instale 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 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 domingo) |
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 intervalos
Tamén pode definir un intervalo 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 pasos
Os valores de pasos pódense usar xunto con intervalos, seguindo un intervalo con '/' e un número. Por exemplo: 1-10/2
é o mesmo que 2,4,6,8,10
. Tamén se permiten pasos despois dun asterisco, polo que se queres 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 ser executada sempre que a expresión cron marca.
Argumentos:
- !expresión de cadea - Expresión Cron
- !Función func - Tarefa a executar
- boolean?immediateStart: indica se se debe iniciar 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 non ser 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
Validar que a cadea indicada é 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 dubides en enviar problemas e solicitudes de mellora aquí .
Colaboradores
En xeral, seguimos o fluxo de traballo de Git "fork-and-pull".
- Forke o repositorio en GitHub;
- Confirmar cambios nunha rama da súa bifurcación;
- Tire a solicitude "upstream" cos seus cambios;
NOTA: Asegúrate de combinar o máis recente de "upstream" antes de facer unha solicitude de extracción.
Non aporte o código que non escribiu vostede mesmo, a non ser que estea seguro de ter a capacidade legal para facelo. Asegúrate tamén de que todo o código contribuído se poida distribuír baixo a licenza ISC.
Licenza
node-cron está baixoISC License.