Fantastico modulo della community

Node Cron

npm npm Stato di copertura Codice clima Stato build Stato di dipendenza stato devDependency

Il modulo node-cron è un minuscolo task scheduler in puro JavaScript per node.js basato su GNU crontab.Questo modulo ti permette di programmare task in node.js usando la sintassi crontab completa.

NPM

Iniziare

Installa node-cron usando npm:

1
$ npm install --save node-cron

Importa node-cron e pianifica un'attività:

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

Sintassi Cron

Questo è un riferimento rapido alla sintassi di cron e mostra anche le opzioni supportate da 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 valore
secondo 0-59
minuto 0-59
ora 0-23
giorno del mese 1-31
mese 1-12 (o nomi)
giorno della settimana 0-7 (o nomi, 0 o 7 sono domenica)

Utilizzo di valori multipli

Puoi utilizzare valori multipli separati da virgola:

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

Utilizzo di intervalli

Puoi anche definire un intervallo di valori:

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

Utilizzo di valori di passo

I valori del passo possono essere usati insieme agli intervalli, seguendo un intervallo con "/" e un numero. Ad esempio: 1-10/2 che è uguale a 2,4,6,8,10 . I passi sono consentiti anche dopo un asterisco , quindi se vuoi dire "ogni due minuti", usa */2 .

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

Usare i nomi

Per il mese e il giorno della settimana puoi anche utilizzare nomi o nomi brevi, ad esempio:

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 nomi brevi:

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

Metodi cron

Schedule

Pianifica l'esecuzione di un'attività assegnata ogni volta che l'espressione cron si attiva.

Argomenti:

  • ! espressione stringa-espressione Cron
  • ! Funzione func-Task da eseguire
  • boolean? immediateStart: indica se avviare lo scheduler immediatamente dopo la creazione.

Metodi ScheduledTask

Start

Avvia l'attività pianificata.

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

L'attività non verrà eseguita a meno che non venga riavviata.

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

L'attività verrà interrotta e completamente distrutta.

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

Convalida che la stringa data sia un'espressione cron valida.

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

Problemi

Sentiti libero di inviare problemi e richieste di miglioramento qui .

Contributori

In generale, seguiamo il flusso di lavoro Git "fork-and-pull".

  • Fork il repo su GitHub;
  • Eseguire il commit delle modifiche in un ramo nel fork;
  • Eseguire il pull della richiesta "a monte" con le modifiche;

NOTA: assicurati di unire le ultime da "upstream" prima di fare una richiesta pull!

Per favore non contribuire con codice che non hai scritto tu stesso, a meno che tu non sia certo di avere la capacità legale di farlo. Assicurati inoltre che tutto il codice fornito possa essere distribuito sotto la Licenza ISC.

Licenza

node-cron è sotto ISC License .