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

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設置回調。總的來說分兩種事件,一種是一次性的,一種是周期性的,一次性任務調用完就結束,周期性的會不斷地循環調用,當一個周期性事件被調用后,會根據周期生成下一個周期任務,并添加到任務列表中,重新排序。每個任務調用結束,都會計算并準備下一個任務。

一、設置定時器

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號
色婷婷在线精品国自产拍 | 国产精品女同久久久久电影院| 日韩免费一区二区三区| 国产精品入口麻豆电影网| 华人在线精品免费观看| 国产精品成人无码久久久久久 | 亚洲日韩国产成网在线观看| 九九精品99久久久香蕉| 久久精品国1国二国三| 日韩高清在线高清免费| 国产精品色拉拉免费看| 99精品国产在这里白浆| 国产精品最新国产精品第十页| 婷婷99视频精品全部在线观看| 精品香蕉一区二区三区| 久久久久四虎国产精品| 成人精品视频99在线观看免费 | 日韩人妻激情制服丝袜另类| 国产精品成人一区无码| 日本精品在线观看视频| 国产精品老女人精品视| 国产麻豆剧果冻传媒免精品费网站 | 四虎精品影院在线观看视频| 亚洲熟女精品中文字幕| 国产成人精品日本亚洲网站| 日韩av人人夜夜澡人人爽| 日韩精品无码免费视频| 国产成人精品免费视频大全五级 | 日韩欧美群交P内射捆绑| 日韩av.com| 亚洲国产精品日韩在线| 在线观看亚洲AV日韩AV| 精品一区二区三区在线观看l| 国产精品视频一区二区三区| 91精品国产乱码在线观看| 亚洲精品免费在线视频| 国产精品久久久久…| 国产精品一区在线麻豆| 日产精品卡一卡二卡三的概述| 久9视频这里只有精品8| 91精品久久久久久久99蜜桃|