Knoten Cron
Das Modul node-cron ist ein winziger Taskplaner in reinem JavaScript für node.js basierend auf GNU crontab Dieses Modul ermöglicht es Ihnen, Tasks in node.js unter Verwendung der vollständigen crontab-Syntax zu planen.
Einstieg
Node-cron mit npm installieren:
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 kurze Referenz 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
Gebiet | Wert |
---|---|
Sekunde | 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) |
Verwenden von Mehrfachwerten
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');
});
Verwenden 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');
});
Schrittwerte verwenden
Schrittwerte können in Verbindung mit Bereichen verwendet werden, gefolgt von einem Bereich mit '/' und einer Zahl. zB: 1-10/2
das ist dasselbe wie 2,4,6,8,10
. Schritte sind auch nach einem Asterisk erlaubt, also wenn Sie "alle zwei Minuten" sagen möchten , einfach verwenden */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, zB:
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, wenn der Cron-Ausdruck tickt.
Argumente:
- !String-Ausdruck-Cron-Ausdruck
- !Funktion func-Aufgabe auszuführen
- boolean?
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 nicht ausgeführt, es sei denn, sie wird neu gestartet.
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 angehalten 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 * * * *');
Themen
Fühlen Sie sich frei zu unterbreiten Fragen und Verbesserungsvorschläge hier .
Mitwirkende
Im Allgemeinen folgen wir dem "Fork-and-Pull"-Git-Workflow.
- Fork das Repository auf GitHub;
- Commit Änderungen an einem Branch in Ihrem Fork;
- Pull-Request "Upstream" mit Ihren Änderungen;
HINWEIS: Stellen Sie sicher, dass Sie das Neueste 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 sich sicher, dass Sie dazu berechtigt sind.Stellen Sie außerdem sicher, dass der gesamte Code unter der ISC-Lizenz verbreitet werden kann.
Lizenz
node-cron ist unter ISC License.