Mòdul de comunitat impressionant

Node Cron

npm npm Estat de cobertura Codi Clima Estat de la compilació Estat de dependència devDependency Status

El mòdul node-cron és un minúscul programador de tasques en JavaScript pur per a node.js basat en GNU crontab . Aquest mòdul us permet programar tasques en node.js mitjançant la sintaxi completa de crontab.

NPM

Començant

Instal·leu node-cron mitjançant npm:

1
$ npm install --save node-cron

Importeu node-cron i planifiqueu una tasca:

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

Sintaxi 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)

Utilització de valors múltiples

Podeu utilitzar diversos 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 d’intervals

També podeu definir un interval 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'); });

Utilitzant 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. Els passos també es permeten després d'un asterisc, de manera que si voleu dir "cada dos minuts" , només cal utilitzar */2.

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

Utilitzant 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

Programa les tasques que s’executen quan s’expressa l’expressió cron.

Arguments:

  • ! string expression-Cron expression
  • ! Funció func-Task que cal executar
  • boolean? immediatStart: si s'inicia 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 reiniciï.

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 sigui 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 Git "fork-and-pull".

  • Forqueu la reposició a GitHub;
  • Confirmeu canvis a una sucursal de la vostra bifurcació;
  • Traieu la sol·licitud "aigües amunt" amb els vostres canvis;

NOTA: Assegureu-vos de combinar les últimes novetats de "upstream" abans de fer una sol·licitud d'extracció.

Si us plau, no aporteu codi que no hàgiu escrit, tret que estigueu segur que teniu la possibilitat legal de fer-ho. Assegureu-vos que tot el codi aportat es pugui distribuir sota la llicència ISC.

Llicència

node-cron està sota ISC License.