NodeCron
Das Node-Cron-Modul ist ein kleiner Aufgabenplaner in reinem JavaScript für node.js, der auf GNU crontab basiert . Mit diesem Modul können Sie Aufgaben in node.js mithilfe der vollständigen Crontab-Syntax planen.
Erste Schritte
Installieren Sie Node-Cron mit npm:
1$ npm install --save node-cron
Node-cron importieren und eine Aufgabe planen:
1
2
3
4
5var cron = require('node-cron');
cron.schedule('* * * * *', function(){
console.log('running a task every minute');
});
Cron-Syntax
Dies ist eine Kurzreferenz zur Cron-Syntax und zeigt auch die von Node-Cron unterstützten Optionen.
Allowed fields
1
2
3
4
5
6
7
8
9 # ┌────────────── second (optional)
# │ ┌──────────── minute
# │ │ ┌────────── hour
# │ │ │ ┌──────── day of month
# │ │ │ │ ┌────── month
# │ │ │ │ │ ┌──── day of week
# │ │ │ │ │ │
# │ │ │ │ │ │
# * * * * * *
Allowed values
Feld | Wert |
---|---|
zweite | 0-59 |
Minute | 0-59 |
Stunde | 0-23 |
Monatstag | 1-31 |
Monat | 1-12 (oder Namen) |
Wochentag | 0-7 (oder Namen, 0 oder 7 sind Sonntag) |
Verwendung mehrerer Werte
Sie können mehrere durch Komma getrennte Werte verwenden:
1
2
3
4
5var cron = require('node-cron');
cron.schedule('1,2,4,5 * * * *', function(){
console.log('running every minute 1, 2, 4 and 5');
});
Verwendung von Bereichen
Sie können auch einen Wertebereich definieren:
1
2
3
4
5var cron = require('node-cron');
cron.schedule('1-5 * * * *', function(){
console.log('running every minute to 1 from 5');
});
Verwendung von Schrittwerten
Schrittwerte können in Verbindung mit Bereichen verwendet werden, indem einem Bereich ein „/“ und eine Zahl folgt. Beispiel: 1-10/2
Das ist dasselbe wie 2,4,6,8,10
. Schritte sind auch nach einem Sternchen zulässig, wenn Sie also „alle zwei Minuten“ sagen möchten , benutz einfach */2
.
1
2
3
4
5var cron = require('node-cron');
cron.schedule('*/2 * * * *', function(){
console.log('running a task every two minutes');
});
Namen verwenden
Für Monat und Wochentag können Sie auch Namen oder Kurznamen verwenden, z. B.:
1
2
3
4
5var cron = require('node-cron');
cron.schedule('* * * January,September Sunday', function(){
console.log('running on Sundays of January and September');
});
Oder mit Kurznamen:
1
2
3
4
5var cron = require('node-cron');
cron.schedule('* * * Jan,Sep Sun', function(){
console.log('running on Sundays of January and September');
});
Cron-Methoden
Schedule
Plant die Ausführung einer bestimmten Aufgabe, wann immer der Cron-Ausdruck aktiviert ist.
Argumente:
- !string-Ausdruck – Cron-Ausdruck
- !Funktion func – Auszuführende Aufgabe
- boolean? unlimitedStart – Ob der Scheduler sofort nach der Erstellung gestartet werden soll.
ScheduledTask-Methoden
Start
Startet die geplante Aufgabe.
1
2
3
4
5
6
7var cron = require('node-cron');
var task = cron.schedule('* * * * *', function() {
console.log('immediately started');
}, false);
task.start();
Stop
Die Aufgabe wird erst ausgeführt, wenn sie neu gestartet wird.
1
2
3
4
5
6
7var cron = require('node-cron');
var task = cron.schedule('* * * * *', function() {
console.log('will execute every minute until stopped');
});
task.stop();
Destroy
Die Aufgabe wird gestoppt und vollständig zerstört.
1
2
3
4
5
6
7var cron = require('node-cron');
var task = cron.schedule('* * * * *', function() {
console.log('will not execute anymore, nor be able to restart');
});
task.destroy();
Validate
Überprüfen Sie, ob die angegebene Zeichenfolge ein gültiger Cron-Ausdruck ist.
1
2
3
4var cron = require('node-cron');
var valid = cron.validate('59 * * * *');
var invalid = cron.validate('60 * * * *');
Probleme
Hier können Sie gerne Probleme und Verbesserungswünsche einreichen .
Mitwirkende
Im Allgemeinen folgen wir dem „Fork-and-Pull“-Git-Workflow.
- Forken Sie das Repo auf GitHub.
- Übernehmen Sie Änderungen an einem Zweig in Ihrem Fork.
- Pull-Anfrage „Upstream“ mit Ihren Änderungen;
HINWEIS: Stellen Sie sicher, dass Sie die neueste Version von „Upstream“ zusammenführen, bevor Sie eine Pull-Anfrage stellen!
Bitte tragen Sie keinen Code bei, den Sie nicht selbst geschrieben haben, es sei denn, Sie sind sicher, dass Sie dazu rechtlich befugt sind. Stellen Sie außerdem sicher, dass der gesamte beigesteuerte Code unter der ISC-Lizenz verbreitet werden kann.
Lizenz
node-cron ist unterISC License.