Impresionante módulo comunitario

NodeCron

npm npm Estado de cobertura Código Clima Estado de construción Estado de dependencia Estado de dependencia dev

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.

NPM

Comezando

Instale node-cron usando npm:

1
$ npm install --save node-cron

Importa node-cron e programa unha tarefa:

1 2 3 4 5
var 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 5
var 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 5
var 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 5
var 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 5
var 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 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 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 7
var 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 7
var 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 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

Validar que a cadea indicada é unha 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

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.