亚洲最大看欧美片,亚洲图揄拍自拍另类图片,欧美精品v国产精品v呦,日本在线精品视频免费

  • 站長資訊網(wǎng)
    最全最豐富的資訊網(wǎng)站

    node怎么實現(xiàn)定時任務(wù)

    node實現(xiàn)定時任務(wù)的方法:1、利用setTimeOut和event事件進行管理;2、對所有加入的事件進行排序,并且計算當(dāng)前時間和最近一個事件發(fā)生時間的時間間隔;3、調(diào)用setTimeOut設(shè)置回調(diào)即可。

    node怎么實現(xiàn)定時任務(wù)

    node.js極速入門課程:進入學(xué)習(xí)

    本教程操作環(huán)境:linux7.3系統(tǒng)、node18.4.0版、Dell G3電腦。

    node怎么實現(xiàn)定時任務(wù)?

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

    實現(xiàn)一個每天凌晨十二點更新服務(wù)器上的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 /**啟動任務(wù)*/ schedule.scheduleJob(rule, () => {   updateCode.cloneRepo();   console.log('代碼更新了!'); })   app.listen(3000)
    登錄后復(fù)制

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

    一、設(shè)置定時器

    node-schedule允許多種規(guī)則去實現(xiàn)定時

    1. Cron風(fēng)格定時器

    *    *    *    *    *    * ┬    ┬    ┬    ┬    ┬    ┬ │    │    │    │    │    | │    │    │    │    │    └ 一周的星期 (0 - 7) (0 or 7 is Sun) │    │    │    │    └───── 月份 (1 - 12) │    │    │    └────────── 月份中的日子 (1 - 31) │    │    └─────────────── 小時 (0 - 23) │    └──────────────────── 分鐘 (0 - 59) └───────────────────────── 秒 (0 - 59, OPTIONAL)   var schedule = require('node-schedule'); //當(dāng)分鐘為42時,執(zhí)行一個cron任務(wù) var j = schedule.scheduleJob('42 * * * *', function(){   console.log('執(zhí)行了!'); });
    登錄后復(fù)制

    2.Date對象規(guī)則定時器

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

    3.RecurrenceRule實例規(guī)則定時器

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

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

    推薦學(xué)習(xí):《nodejs視頻教程》

    贊(0)
    分享到: 更多 (0)
    網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號