久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      node項(xiàng)目中怎么使用Node Schedule創(chuàng)建定時(shí)任務(wù)

      node項(xiàng)目中怎么創(chuàng)建定時(shí)任務(wù)?下面本篇文章給大家介紹一下在node項(xiàng)目中怎么使用Node Schedule制定定時(shí)任務(wù)腳本,希望對(duì)大家有所幫助!

      node項(xiàng)目中怎么使用Node Schedule創(chuàng)建定時(shí)任務(wù)

      nodejs的后端也是需要定時(shí)任務(wù)做處理,例如備份,定時(shí)發(fā)送郵件,結(jié)算等操作,所以使用了Node Schedule這個(gè)npm幫助我們制定定時(shí)任務(wù)腳本。

      npm install node-schedule

      Node Schedule 中的每個(gè)定時(shí)任務(wù)都由一個(gè)Job對(duì)象表示??梢允謩?dòng)創(chuàng)建,然后執(zhí)行schedule()方法以應(yīng)用任務(wù),或使用scheduleJob()如下。

      Job對(duì)象是`EventEmitter,并發(fā)出以下事件:

      • run每次執(zhí)行后的事件。
      • scheduled每次計(jì)劃運(yùn)行時(shí)的事件。
      • canceled,當(dāng)它在執(zhí)行之前調(diào)用被取消的事件。
      • 一個(gè)error當(dāng)被觸發(fā)調(diào)度作業(yè)調(diào)用拋出或退出事件拒絕Promise。

      scheduledcanceled事件都接收一個(gè) JavaScript 日期對(duì)象作為參數(shù))。 注意的是,任務(wù)是第一次立即執(zhí)行的,因此如果使用scheduleJob()方法創(chuàng)建任務(wù),將錯(cuò)過第一個(gè)scheduled 事件觸發(fā),但您可以手動(dòng)查詢調(diào)用。

      Cron格式

      *    *    *    *    *    * ┬    ┬    ┬    ┬    ┬    ┬ │    │    │    │    │    │ │    │    │    │    │    └ day of week (0 - 7) (0 or 7 is Sun) │    │    │    │    └───── month (1 - 12) │    │    │    └────────── day of month (1 - 31) │    │    └─────────────── hour (0 - 23) │    └──────────────────── minute (0 - 59) └───────────────────────── second (0 - 59, OPTIONAL)  每分鐘的第30秒觸發(fā): '30 * * * * *'  每小時(shí)的1分30秒觸發(fā) :'30 1 * * * *'  每天的凌晨1點(diǎn)1分30秒觸發(fā) :'30 1 1 * * *'  每月的1日1點(diǎn)1分30秒觸發(fā) :'30 1 1 1 * *'  2016年的1月1日1點(diǎn)1分30秒觸發(fā) :'30 1 1 1 2016 *'  每周1的1點(diǎn)1分30秒觸發(fā) :'30 1 1 * * 1'

      這里是個(gè)人對(duì)node-schedule封裝類來使用增刪改查定時(shí)任務(wù)

      const schedule = require('node-schedule');  exports.Interval = class Interval {   constructor({ unit_name, maintain_time, last_alarm }) {     this.unit_name = unit_name          // 任務(wù)名字     this.maintain_time = maintain_time  // 定時(shí)時(shí)間     this.last_alarm = last_alarm || ""        // 上一次定時(shí)任務(wù)名字   }    // 生成新的定時(shí)任務(wù)   async create(callback) {     // 終止之前的定時(shí)任務(wù)     if (this.last_alarm !== "") {       this.delete(this.last_alarm)     }     schedule.scheduleJob(`${this.unit_name}`, `${this.maintain_time}`, callback);   }    // 刪除定時(shí)任務(wù)   delete() {     if (schedule.scheduledJobs[this.unit_name]) {       schedule.scheduledJobs[this.unit_name].cancel();       return true     }     return false   }    // 找到一個(gè)定時(shí)任務(wù)   findOne(name) {     if (schedule.scheduledJobs[name]) {       return schedule.scheduledJobs[name]     } else {       throw new Error("未找到任務(wù)名")     }   }    // 查看所有的定時(shí)任務(wù)   findAll() {     return schedule.scheduledJobs   } }

      這里是調(diào)用時(shí)定時(shí)任務(wù)Interval實(shí)例

      // 定時(shí)任務(wù) new Util.Interval({   unit_name: '自動(dòng)分發(fā)任務(wù) 0 0 12 * * *',   maintain_time: '0 0 12 * * *',   last_alarm: '自動(dòng)分發(fā)任務(wù) 0 0 12 * * *' }).create(async () => {   // 寫入你自己想在定時(shí)任務(wù)觸發(fā)的時(shí)候,想要執(zhí)行的函數(shù) })

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