Mòdul comunitari fantàstic

NodeCron

npm npm Estat de cobertura Codi Clima Estat de construcció Estat de dependència Estat de dependència dev

El mòdul node-cron és un petit planificador de tasques en JavaScript pur per a node.js basat en GNU crontab . Aquest mòdul us permet programar tasques a node.js utilitzant la sintaxi crontab completa.

NPM

Començant

Instal·leu node-cron mitjançant npm:

1
$ npm install --save node-cron

Importa node-cron i programa una tasca:

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

Sintaxi de Cron

Aquesta és una referència ràpida a la sintaxi de cron i també mostra les opcions admeses per 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

camp valor
segon 0-59
minut 0-59
hores 0-23
dia del mes 1-31
mes 1-12 (o noms)
dia de la setmana 0-7 (o els noms, 0 o 7 són diumenge)

Ús de múltiples valors

Podeu utilitzar múltiples valors separats per comes:

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

Ús de rangs

També podeu definir un rang de valors:

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

Ús de valors de pas

Els valors de pas es poden utilitzar juntament amb intervals, seguint un interval amb '/' i un número. Per exemple: 1-10/2és el mateix que 2,4,6,8,10. També es permeten passos després d'un asterisc, per tant, si voleu dir "cada dos minuts" , només utilitza */2.

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

Ús de noms

Per al mes i el dia de la setmana també podeu utilitzar noms o noms curts. Per exemple:

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 amb noms curts:

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ètodes Cron

Schedule

Planifica la tasca donada per executar-se sempre que l'expressió cron marca.

Arguments:

  • !string expression - Expressió Cron
  • !Funció func - Tasca a executar
  • boolean?immediateStart: si s'ha d'iniciar el planificador immediatament després de crear-lo.

Mètodes ScheduledTask

Start

Inicia la tasca 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 tasca no s'executarà tret que es torni a iniciar.

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 tasca s'aturarà i es destruirà completament.

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

Valideu que la cadena donada és una expressió cron vàlida.

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

Problemes

No dubteu a enviar problemes i sol·licituds de millora aquí .

Col·laboradors

En general, seguim el flux de treball de Git "fork-and-pull".

  • Bifurca el repo a GitHub;
  • Confirmeu els canvis a una branca de la vostra bifurcació;
  • Traieu la sol·licitud "aigües amunt" amb els vostres canvis;

NOTA: Assegureu-vos de combinar l'últim de "aigües amunt" abans de fer una sol·licitud d'extracció!

Si us plau, no aporteu codi que no heu escrit vosaltres mateixos, tret que estigueu segur que teniu la capacitat legal de fer-ho. Assegureu-vos també que tot el codi aportat es pugui distribuir sota la llicència ISC.

llicència

node-cron està sotaISC License.