Heim > Web-Frontend > js-Tutorial > Hauptteil

So implementieren Sie geplante Aufgaben im Knoten

藏色散人
Freigeben: 2022-11-04 16:12:28
Original
4220 Leute haben es durchsucht

So implementiert der Knoten geplante Aufgaben: 1. Verwenden Sie setTimeOut und Ereignisereignisse für die Verwaltung. 2. Sortieren Sie alle hinzugefügten Ereignisse und berechnen Sie das Zeitintervall zwischen der aktuellen Zeit und dem Zeitpunkt des Auftretens des letzten Ereignisses. 3. Rufen Sie setTimeOut auf, um den Rückruf festzulegen. Dürfen.

So implementieren Sie geplante Aufgaben im Knoten

Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Node18.4.0-Version, Dell G3-Computer.

Wie implementiert Node geplante Aufgaben?

Node-geplante Aufgaben (Node-Schedule-Modul)

Implementieren Sie eine Funktion, die den Git-Code jeden Tag um zwölf Uhr auf dem Server aktualisiert

app.js-Datei Unter dem KOA2-Framework

import schedule from 'node-schedule';
import updateCode from './controllers/hcpLan/fetch'
 
const app = new Koa();
 
const router = new Router();
 
router.get( '/', (ctx, next) => {
      ctx.body = 'hello'
});
 
app.use(router.routes()).use(router.allowedMethods());
 
 
let rule = new schedule.RecurrenceRule()
/**每天的凌晨12点更新代码*/
rule.hour = 0
rule.minute = 0
rule.second = 0
/**启动任务*/
schedule.scheduleJob(rule, () => {
  updateCode.cloneRepo();
  console.log('代码更新了!');
})
 
app.listen(3000)
Nach dem Login kopieren

node-Schedule-Prinzip: Verwenden Sie setTimeOut und Ereignisereignisse für die Verwaltung, sortieren Sie alle hinzugefügten Ereignisse, berechnen Sie das Zeitintervall zwischen der aktuellen Zeit und dem Zeitpunkt des Auftretens des letzten Ereignisses und rufen Sie dann setTimeOut auf, um den Rückruf festzulegen. Im Allgemeinen gibt es zwei Arten von Ereignissen: Eine einmalige und eine periodische Aufgabe werden nach dem Aufruf beendet, und die periodische Aufgabe wird kontinuierlich aufgerufen Generieren Sie die nächste periodische Aufgabe basierend auf dem Zeitraum, fügen Sie sie zur Aufgabenliste hinzu und ordnen Sie sie neu an. Am Ende jedes Aufgabenaufrufs wird die nächste Aufgabe berechnet und vorbereitet.

1. Timer festlegen

Knotenplan ermöglicht die Implementierung einer Vielzahl von Regeln für die Zeitsteuerung

1. Zeitgeber für Datumsobjektregeln

*    *    *    *    *    *
┬    ┬    ┬    ┬    ┬    ┬
│    │    │    │    │    |
│    │    │    │    │    └ 一周的星期 (0 - 7) (0 or 7 is Sun)
│    │    │    │    └───── 月份 (1 - 12)
│    │    │    └────────── 月份中的日子 (1 - 31)
│    │    └─────────────── 小时 (0 - 23)
│    └──────────────────── 分钟 (0 - 59)
└───────────────────────── 秒 (0 - 59, OPTIONAL)
 
var schedule = require('node-schedule');
//当分钟为42时,执行一个cron任务
var j = schedule.scheduleJob('42 * * * *', function(){
  console.log('执行了!');
});
Nach dem Login kopieren

3.RecurrenceRule-Instanzregel-Timer

var schedule = require('node-schedule');
var date = new Date('2017-09-26 22:00:00');
 
var j = schedule.scheduleJob(date, function(){
  console.log('执行了!');
});
Nach dem Login kopieren

Für bestimmte Verwendungszwecke , schauen Sie sich bitte die Github-Dokumentation an https://github.com/node-schedule/node-schedule

Empfohlenes Lernen: „

nodejs Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo implementieren Sie geplante Aufgaben im Knoten. 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