Impresionante módulo de comunidad

Nodo Cron

npm npm Estado de cobertura Código climático Estado de compilación Estado de dependencia DevDependency Status

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 usando la sintaxis completa de crontab.

NPM

Comenzando

Instale node-cron usando npm:

1
$ npm install --save node-cron

Importe node-cron y programe una tarea:

1 2 3 4 5
var cron = require('node-cron'); cron.schedule('* * * * *', function(){ console.log('running a task every minute'); });

Sintaxis de Cron

Esta es una referencia rápida a la sintaxis de cron y también muestra las opciones compatibles con 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)
dia de la semana 0-7 (o nombres, 0 o 7 son domingos)

Usando valores múltiples

Puede usar valores múltiples separados por comas:

1 2 3 4 5
var 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 5
var 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 que es igual a 2,4,6,8,10 . Los pasos también se permiten después de un asterisco , así que si quiere decir "cada dos minutos", simplemente use */2 .

1 2 3 4 5
var 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 usar nombres o nombres cortos.

1 2 3 4 5
var 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 5
var cron = require('node-cron'); cron.schedule('* * * Jan,Sep Sun', function(){ console.log('running on Sundays of January and September'); });

Métodos Cron

Schedule

Planifica la tarea dada para que se ejecute siempre que la expresión cron funcione.

Argumentos:

  • ! string string-Cron expression
  • ! Función func-Task a ejecutar
  • boolean? initialStart: si se debe iniciar el planificador inmediatamente después de crear.

Métodos de tareas programadas

Start

Inicia la tarea programada.

1 2 3 4 5 6 7
var 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 7
var cron = require('node-cron'); var task = cron.schedule('* * * * *', function() { console.log('will execute every minute until stopped'); }); task.stop();

Destroy

La tarea se detendrá y se destruirá por completo.

1 2 3 4 5 6 7
var 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 dada es una expresión cron válida.

1 2 3 4
var cron = require('node-cron'); var valid = cron.validate('59 * * * *'); var invalid = cron.validate('60 * * * *');

Problemas

No dude en enviar problemas y solicitudes de mejora aquí .

Contribuyentes

En general, seguimos el flujo de trabajo de Git "fork-and-pull".

  • Bifurca el repositorio en GitHub;
  • Cometer cambios a una rama en su tenedor;
  • Solicitud de extracción "aguas arriba" con sus cambios;

NOTA: ¡Asegúrese de combinar lo último de "upstream" antes de realizar una solicitud de extracción!

No contribuya el código que no escribió usted mismo, a menos que esté seguro de que tiene la capacidad legal para hacerlo. También asegúrese de que todo el código contribuido pueda distribuirse bajo la Licencia ISC.

Licencia

node-cron está bajo ISC License .