Fantastico modulo comunitario

NodoCron

npm npm Stato della copertura Codice Clima Stato della costruzione Stato della dipendenza Stato della dipendenza dev

Il modulo node-cron è un piccolo pianificatore di attività in puro JavaScript per node.js basato su GNU crontab.Questo modulo consente di pianificare attività in node.js utilizzando 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 rapido riferimento 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 più valori 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 degli 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 dei valori di passo

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

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

Utilizzando i nomi

Per il mese e il giorno della settimana è possibile utilizzare anche 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'); });

Oppure 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 dell'attività specificata ogni volta che viene attivata l'espressione cron.

Argomenti:

  • !string espressione - Espressione Cron
  • !Funzione funz - Attività da eseguire
  • booleano? 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

Verifica che la stringa fornita 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".

  • Effettua il fork del repository su GitHub;
  • Applica le modifiche a un ramo nel tuo fork;
  • Pull richiesta "a monte" con le modifiche;

NOTA: assicurati di unire l'ultima versione da "upstream" prima di effettuare una richiesta pull!

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

Licenza

node-cron è sottoISC License.