Módulo de comunidad impresionante

Nodo Cron

npmnpmEstado de coberturaCódigo climaEstado de construcciónEstado de dependenciaEstado devDependency

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 crontab completa.

NPM

Empezando

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 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)
día de la semana 0-7 (o nombres, 0 o 7 son domingo)

Usando valores múltiples

Puede utilizar 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'); });

Usar valores de paso

Los valores de paso se pueden utilizar junto con rangos, siguiendo un rango con '/' y un número. Por ejemplo: 1-10/2 que es lo mismo que 2,4,6,8,10 . Los pasos también se permiten después de un asterisco , así que si quieres decir "cada dos minutos", simplemente usa */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, por ejemplo:

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

Programa una tarea determinada para que se ejecute siempre que la expresión cron marque.

Argumentos:

  • ! expresión de cadena-expresión de cron
  • ! Función func-Tarea a ejecutar
  • boolean? innerStart: si se inicia el planificador inmediatamente después de crear

Métodos ScheduledTask

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 sea 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 * * * *');

Cuestiones

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

Colaboradores

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

  • Bifurca el repositorio en GitHub;
  • Confirma cambios en una rama de tu bifurcación;
  • Solicite "upstream" con sus cambios;

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

Por favor, no contribuya con código que no haya escrito 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 se pueda distribuir bajo la licencia ISC.

Licencia

node-cron está bajo ISC License .