


So implementieren Sie geplante Aufgaben in NodeJs (ausführliches Tutorial)
Jun 22, 2018 pm 05:02 PMIn diesem Artikel wird hauptsächlich der Beispielcode für die Implementierung geplanter Aufgaben in NodeJs vorgestellt. Der Herausgeber findet ihn recht gut, daher werde ich ihn jetzt mit Ihnen teilen und als Referenz verwenden. Lassen Sie uns dem Editor folgen und einen Blick darauf werfen.
Im Projekt gibt es eine Funktion, die jeden Tag um 0 Uhr ausgeführt wird. Ursprünglich wollte ich setInterval verwenden, um sie zu implementieren, aber ich habe das Gefühl, dass dies der Fall ist Die Nachfrage wird auch in Zukunft bestehen bleiben. Es ist möglicherweise nicht skalierbar.
Nach der Suche habe ich das Node-Schedule-Paket gefunden.
Zeichnen Sie nun die Verwendungsmethode auf
Node-Schedule führt immer bestimmte Methoden aus, indem ein neues ScheduleJob-Objekt erstellt wird.
Der Zeitwert wird in der folgenden Tabelle ausgedrückt
* * * * * * ┬ ┬ ┬ ┬ ┬ ┬ │ │ │ │ │ | │ │ │ │ │ └ [dayOfWeek]day of week (0 - 7) (0 or 7 is Sun) │ │ │ │ └───── [month]month (1 - 12) │ │ │ └────────── [date]day of month (1 - 31) │ │ └─────────────── [hour]hour (0 - 23) │ └──────────────────── [minute]minute (0 - 59) └───────────────────────── [second]second (0 - 59, OPTIONAL)
Verwenden Sie Node-Schedule, um die Methode zum angegebenen Zeitpunkt auszuführen
var schedule = require('node-schedule'); var date = new Date(2017, 11, 16, 16, 43, 0); var j = schedule.scheduleJob(date, function(){ console.log('现在时间:',new Date()); });
um 16: 00 am 16. Dezember 2017 43 Minuten und 0 Sekunden, drucken Sie die aktuelle Uhrzeit
Geben Sie die Ausführungsmethode für das Zeitintervall an
var rule = new schedule.RecurrenceRule(); rule.second = 10; var j = schedule.scheduleJob(rule, function(){ console.log('现在时间:',new Date()); });
Hiermit wird die Uhrzeit jedes Mal gedruckt Die Anzahl der Sekunden beträgt 10. Wenn Sie es alle 10 Sekunden ausführen möchten, setzen Sie einfach Rule.second =[0,10,20,30,40,50].
Die von der Regel unterstützten Werte sind Sekunde, Minute, Stunde, Datum, Wochentag, Monat, Jahr
Ähnlich:
Ausführung pro Sekunde ist Rule.second =[ 0 ,1,2,3...59]
Ausführung bei 0 Sekunden jede Minute ist Rule.second =0
Ausführung bei 30 Minuten jede Stunde ist Rule.minute =30;rule.second =0;
Die Ausführung um 0 Uhr jeden Tag ist Rule.hour =0;rule.minute =0;rule.second =0;
....
Um 10 Uhr am 1. jedes Monats , Rule.date =1;rule .hour =10;rule.minute =0;rule.second =0;
0 Uhr und 12 Uhr am 1., 3. und 5. Tag jeder Woche sind Rule.dayOfWeek = [1,3,5];rule.hour = [0,12];rule.minute =0;rule.second =0;
....
Beispiel
1: Bestimmen Sie die Zeit
Zum Beispiel: Ausführen
var schedule = require("node-schedule"); var date = new Date(2014,2,14,15,40,0); var j = schedule.scheduleJob(date, function(){ console.log("执行任务"); });
Aufgabe am 14. Februar 2014 um 15:40 Uhr abbrechen
j.cancel();
2: Feste Zeit jede Stunde
Beispiel: jede Stunde 40-Minuten-Ausführung
var rule = new schedule.RecurrenceRule(); rule.minute = 40; var j = schedule.scheduleJob(rule, function(){ console.log("执行任务"); });
3: Ausführung zu einer bestimmten Zeit an bestimmten Wochentagen,
Beispiel: Ausführung um 20 Uhr von Montag bis Sonntag
var rule = new schedule.RecurrenceRule(); rule.dayOfWeek = [0, new schedule.Range(1, 6)]; rule.hour = 20; rule.minute = 0; var j = schedule.scheduleJob(rule, function(){ console.log("执行任务"); });
4: Ausführung pro Sekunde
var rule = new schedule.RecurrenceRule(); var times = []; for(var i=1; i<60; i++){ times.push(i); } rule.second = times; var c=0; var j = schedule.scheduleJob(rule, function(){ c++; console.log(c); });
Das Obige habe ich für alle zusammengestellt. Ich hoffe, dass es in Zukunft für alle hilfreich sein wird.
Verwandte Artikel:
So verwenden Sie die Videokomponente zum Abspielen von Videos im WeChat-Miniprogramm
So verwenden Sie die Audiokomponente im WeChat-Miniprogramm
So implementieren Sie die sekundäre Axios-Kapselung in Vue
So implementieren Sie Auf- und Ab-Scroll-Ankündigungen mit js
Das obige ist der detaillierte Inhalt vonSo implementieren Sie geplante Aufgaben in NodeJs (ausführliches Tutorial). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Kennen Sie einige Gründe, warum geplante Crontab-Aufgaben nicht ausgeführt werden?

So verwenden Sie Express für den Datei-Upload im Knotenprojekt

Geplante Aufgabenplanung von ThinkPHP6: Geplante Aufgabenausführung

Python implementiert die automatische Seitenaktualisierung und die Funktionsanalyse geplanter Aufgaben für Headless-Browser-Sammlungsanwendungen

Eine ausführliche Analyse des Prozessmanagement-Tools „pm2' von Node

So entwickeln Sie mit PHP eine geplante Aktualisierungsfunktion für Webseiten

PI -Knotenunterricht: Was ist ein PI -Knoten? Wie installiere und richte ich einen PI -Knoten ein?

So verwenden Sie geplante Aufgaben in FastAPI, um Hintergrundarbeiten auszuführen
