Heim > Web-Frontend > js-Tutorial > Hauptteil

NodeJs-Beispielcode zum Implementieren geplanter Aufgaben

小云云
Freigeben: 2017-12-06 11:01:31
Original
1695 Leute haben es durchsucht

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 diese Art von Nachfrage auch in Zukunft bestehen wird Sie selbst sind möglicherweise nicht sehr skalierbar. Ich habe das Node-Schedule-Paket entdeckt, daher werden wir in diesem Artikel den Beispielcode für die Implementierung geplanter Aufgaben in NodeJs mit Ihnen teilen.

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 dargestellt

*  *  *  *  *  *
┬  ┬  ┬  ┬  ┬  ┬
│  │  │  │  │  |
│  │  │  │  │  └ [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)
Nach dem Login kopieren

Verwenden Sie Node-Schedule, um die Methode zum angegebenen Zeitpunkt auszuführen Uhrzeit

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());
});
Nach dem Login kopieren

Drucken Sie am 16. Dezember 2017 um 16:43:00 Uhr die aktuelle Uhrzeit aus

Zeitintervall-Ausführungsmethode angeben

var rule = new schedule.RecurrenceRule();
rule.second = 10;
var j = schedule.scheduleJob(rule, function(){
 console.log('现在时间:',new Date());
});
Nach dem Login kopieren

Dies druckt die Zeit jedes Mal aus, wenn die Anzahl der Sekunden 10 beträgt. Wenn Sie es alle 10 Sekunden ausführen möchten, setzen Sie einfach Rule.second =[0,10,20,30,40,50].

Regel unterstützt das Festlegen von Werten wie Sekunde, Minute, Stunde, Datum, Wochentag, Monat, Jahr

Ähnlich:

Jede Ausführung in Sekunden ist Rule.second =[0,1,2,3...59]
Ausführung in 0 Sekunden pro Minute ist Rule.second =0
Ausführung in 30 Minuten pro Stunde ist Rule.Minute = 30;rule.second =0;
Die Ausführung jeden Tag um 0 Uhr beträgt Rule.hour =0;rule.minute =0;rule.second =0;
....
10 am 1. eines jeden Monats Die Punkte sind Regel.Minute =0; Regel.Sekunde =0; 0 Uhr und 12 Uhr jede Woche; 3 und 5 sind Rule.dayOfWeek =[1, 3,5];rule.hour =[0,12];rule.minute =0;rule.second =0;
....

Beispiel

1: Bestimmen Sie die Uhrzeit

Zum Beispiel: 14. Februar 2014, 15:40 Uhr Ausführung

  var schedule = require("node-schedule");

  var date = new Date(2014,2,14,15,40,0);

  var j = schedule.scheduleJob(date, function(){

    console.log("执行任务");

  });
Nach dem Login kopieren

Aufgabe abbrechen

 j.cancel();
Nach dem Login kopieren

2: Feste Zeit jede Stunde

Zum Beispiel: 40 Minuten Ausführung jede Stunde

  var rule = new schedule.RecurrenceRule();

  rule.minute = 40;

  var j = schedule.scheduleJob(rule, function(){

    console.log("执行任务");

  });
Nach dem Login kopieren

3: Wird zu einer bestimmten Zeit an bestimmten Wochentagen ausgeführt,

Zum Beispiel: ausgeführt um 20:00 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("执行任务");

  });
Nach dem Login kopieren

4: Ausführung pro Sekunde Hier ist ein Beispielcode, ich hoffe, er hilft.

Verwandte Empfehlungen:

  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);
  });
Nach dem Login kopieren
Über die prinzipielle Analyse von Timern in JavaScript

Freigabe des PHP-Frameworks für geplante Aufgaben

Wie implementiert man geplante Aufgaben in PHP?

Das obige ist der detaillierte Inhalt vonNodeJs-Beispielcode zum Implementieren geplanter Aufgaben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage