Módulo comunitario incrible

Nodo Cron

npm npm Estado de cobertura Código Clima Estado de compilación Estado de dependencia devDependency Status

O módulo node-cron é un pequeno programador de tarefas en JavaScript puro para node.js baseado en GNU crontab . Este módulo permítelle programar tarefas en node.js usando a sintaxe completa de crontab.

NPM

Comezando

Instalar 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 de 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 domingos)

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 rangos

Tamén pode 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

Os valores de paso pódense usar xunto con rangos, seguindo un intervalo con '/' e un número. Por exemplo: 1-10/2é o mesmo que 2,4,6,8,10. Os pasos tamén se permiten despois dun asterisco, polo que se quere 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 executala sempre que marca a expresión cron.

Argumentos:

  • ! string expression-Cron expression
  • ! Función func-Task que se executará
  • boolean? immediateStart-Indica se se inicia 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 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

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

Valida que a cadea dada é 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 dubide en enviar problemas e solicitudes de mellora aquí .

Colaboradores

En xeral, seguimos o fluxo de traballo Git "fork-and-pull".

  • Bifurque a reposición en GitHub;
  • Confirma cambios nunha sucursal na túa bifurcación;
  • Extrae a solicitude "arriba" cos seus cambios;

NOTA: Asegúrese de combinar o último de "upstream" antes de facer unha solicitude de extracción.

Por favor, non aportes código que non escribiches ti mesmo, a menos que esteas seguro de que tes a capacidade legal para facelo. Asegúrate tamén de que todo o código contribuído poida distribuírse baixo a licenza ISC.

Licenza

node-cron está baixo ISC License.