站長資訊網
最全最豐富的資訊網站

node怎么實現定時任務

node實現定時任務的方法:1、利用setTimeOut和event事件進行管理;2、對所有加入的事件進行排序,并且計算當前時間和最近一個事件發生時間的時間間隔;3、調用setTimeOut設置回調即可。

node怎么實現定時任務

node.js極速入門課程:進入學習

本教程操作環境:linux7.3系統、node18.4.0版、Dell G3電腦。

node怎么實現定時任務?

node定時任務(node-schedule模塊)

實現一個每天凌晨十二點更新服務器上的git代碼的功能

koa2框架下的app.js文件

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)
登錄后復制

node-schedule原理:利用setTimeOut和event事件進行管理,對所有加入的事件進行排序,并且計算當前時間和最近一個事件發生時間的時間間隔,然后調用setTimeOut設置回調??偟膩碚f分兩種事件,一種是一次性的,一種是周期性的,一次性任務調用完就結束,周期性的會不斷地循環調用,當一個周期性事件被調用后,會根據周期生成下一個周期任務,并添加到任務列表中,重新排序。每個任務調用結束,都會計算并準備下一個任務。

一、設置定時器

node-schedule允許多種規則去實現定時

1. Cron風格定時器

*    *    *    *    *    * ┬    ┬    ┬    ┬    ┬    ┬ │    │    │    │    │    | │    │    │    │    │    └ 一周的星期 (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('執行了!'); });
登錄后復制

2.Date對象規則定時器

var schedule = require('node-schedule'); var date = new Date('2017-09-26 22:00:00');   var j = schedule.scheduleJob(date, function(){   console.log('執行了!'); });
登錄后復制

3.RecurrenceRule實例規則定時器

var schedule = require('node-schedule');   var rule = new schedule.RecurrenceRule(); rule.minute = 42;   var j = schedule.scheduleJob(rule, function(){   console.log('執行了!'); });
登錄后復制

具體使用可查看github文檔https://github.com/node-schedule/node-schedule

推薦學習:《nodejs視頻教程》

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
国产成人亚洲精品无码AV大片| 亚洲熟妇成人精品一区| 亚洲国产精品嫩草影院在线观看| 精品视频午夜一区二区| 国产精品午夜电影| 国产av一区最新精品| 久久久久久午夜精品| 国产成人精品视频一区二区不卡 | 久久99精品国产99久久6男男| 国产手机精品视频| 蜜臀AV无码精品人妻色欲| 国产精品毛片久久久久久久| 久久亚洲AV永久无码精品| 精品在线视频免费| 亚洲AV无码成人精品区日韩 | 日韩精品极品视频在线观看免费| 国产精品先锋资源站先锋影院| 亚洲国产aⅴ成人精品无吗| 久久久久久亚洲精品影院| 2021国产成人精品国产| 亚洲精品国产电影午夜| 久久久久无码精品国产不卡| 亚洲精品美女久久久久99小说| 日韩在线播放全免费| 日韩a级无码免费视频| 日韩美女18网站久久精品| 国产成人精品无码一区二区老年人 | 久久久亚洲精品视频| 久久综合九色综合精品| 久久精品国产精品青草| 久久se精品一区精品二区| 国产精品无码A∨精品影院 | 久久99这里只有精品国产| 国产精品素人搭讪在线播放| 精品亚洲国产成人| 国产精品视频免费| 久久亚洲精品中文字幕三区| 国产精品美女久久久m| 久草精品视频在线播放| 久久伊人精品热在75| 日韩精品乱码AV一区二区|