NodoCron
El módulo node-cron es un pequeño programador de tareas en JavaScript puro para node.js basado en GNU crontab . Este módulo le permite programar tareas en node.js utilizando la sintaxis completa de crontab.
Empezando
Instale node-cron usando npm:
1$ npm install --save node-cron
Importe node-cron y programe una tarea:
1
2
3
4
5var cron = require('node-cron');
cron.schedule('* * * * *', function(){
console.log('running a task every minute');
});
Sintaxis cron
Esta es una referencia rápida a la sintaxis de cron y también muestra las opciones 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 |
dia del mes | 1-31 |
mes | 1-12 (o nombres) |
día de la semana | 0-7 (o nombres, 0 o 7 son domingo) |
Usando múltiples valores
Puedes utilizar múltiples valores separados por coma:
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
También puede 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
Los valores de paso se pueden usar junto con rangos, siguiendo un rango con '/' y un número. Por ejemplo: 1-10/2
eso es lo mismo que 2,4,6,8,10
. También se permiten pasos después de un asterisco, por lo que si desea decir "cada dos minutos" , Solo usa */2
.
1
2
3
4
5var cron = require('node-cron');
cron.schedule('*/2 * * * *', function(){
console.log('running a task every two minutes');
});
Usando nombres
Para el mes y el día de la semana también puede utilizar nombres o nombres cortos, por ejemplo:
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 con nombres cortos:
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 la tarea dada para que se ejecute cada vez que la expresión cron marca.
Argumentos:
- !expresión de cadena - expresión cron
- !Función func - Tarea a ejecutar
- booleano?inmediateStart: si se debe iniciar el programador inmediatamente después de la creación.
Métodos de tarea programada
Start
Inicia la tarea 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 tarea no se ejecutará 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
La tarea será detenida y completamente destruida.
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
Valide que la cadena proporcionada sea una expresión cron válida.
1
2
3
4var cron = require('node-cron');
var valid = cron.validate('59 * * * *');
var invalid = cron.validate('60 * * * *');
Asuntos
No dude en enviar problemas y solicitudes de mejora aquí .
Colaboradores
En general, seguimos el flujo de trabajo de Git de "bifurcación y extracción".
- Bifurca el repositorio en GitHub;
- Confirma los cambios en una rama de tu bifurcación;
- Solicite una extracción "en sentido ascendente" con sus cambios;
NOTA: ¡Asegúrese de fusionar lo último de "upstream" antes de realizar una solicitud de extracción!
No contribuya con código que no haya escrito usted mismo, a menos que esté seguro de tener la capacidad legal para hacerlo. También asegúrese de que todo el código contribuido pueda distribuirse bajo la licencia ISC.
Licencia
nodo-cron está bajoISC License.