最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

NodeJs實(shí)現(xiàn)定時(shí)任務(wù)的示例代碼

 更新時(shí)間:2017年12月05日 09:21:25   作者:卟想萇亣  
本篇文章主要介紹了NodeJs實(shí)現(xiàn)定時(shí)任務(wù)的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

在項(xiàng)目中有個(gè)每天0點(diǎn)執(zhí)行的函數(shù),本來(lái)想用setInterval來(lái)實(shí)現(xiàn),但覺(jué)得這種需求以后應(yīng)該還會(huì)有,自己寫(xiě)可能拓展性不高。

搜了一下發(fā)現(xiàn)了node-schedule這個(gè)包。

現(xiàn)在記錄一下使用方法

node-schedule沒(méi)次都是通過(guò)新建一個(gè)scheduleJob對(duì)象來(lái)執(zhí)行具體方法。

時(shí)間數(shù)值按下表表示

*  *  *  *  *  *
┬  ┬  ┬  ┬  ┬  ┬
│  │  │  │  │  |
│  │  │  │  │  └ [dayOfWeek]day of week (0 - 7) (0 or 7 is Sun)
│  │  │  │  └───── [month]month (1 - 12)
│  │  │  └────────── [date]day of month (1 - 31)
│  │  └─────────────── [hour]hour (0 - 23)
│  └──────────────────── [minute]minute (0 - 59)
└───────────────────────── [second]second (0 - 59, OPTIONAL)

使用node-schedule在指定時(shí)間執(zhí)行方法

var schedule = require('node-schedule');
var date = new Date(2017, 11, 16, 16, 43, 0);

var j = schedule.scheduleJob(date, function(){
 console.log('現(xiàn)在時(shí)間:',new Date());
});

在2017年12月16日16點(diǎn)43分0秒,打印當(dāng)時(shí)時(shí)間

指定時(shí)間間隔執(zhí)行方法

var rule = new schedule.RecurrenceRule();
rule.second = 10;
var j = schedule.scheduleJob(rule, function(){
 console.log('現(xiàn)在時(shí)間:',new Date());
});

這是每當(dāng)秒數(shù)為10時(shí)打印時(shí)間。如果想每隔10秒執(zhí)行,設(shè)置 rule.second =[0,10,20,30,40,50]即可。

rule支持設(shè)置的值有second,minute,hour,date,dayOfWeek,month,year

同理:

每秒執(zhí)行就是rule.second =[0,1,2,3......59]
每分鐘0秒執(zhí)行就是rule.second =0
每小時(shí)30分執(zhí)行就是rule.minute =30;rule.second =0;
每天0點(diǎn)執(zhí)行就是rule.hour =0;rule.minute =0;rule.second =0;
....
每月1號(hào)的10點(diǎn)就是rule.date =1;rule.hour =10;rule.minute =0;rule.second =0;
每周1,3,5的0點(diǎn)和12點(diǎn)就是rule.dayOfWeek =[1,3,5];rule.hour =[0,12];rule.minute =0;rule.second =0;
....

示例

1:確定時(shí)間

例如:2014年2月14日,15:40執(zhí)行

  var schedule = require("node-schedule");

  var date = new Date(2014,2,14,15,40,0);

  var j = schedule.scheduleJob(date, function(){

    console.log("執(zhí)行任務(wù)");

  });

取消任務(wù)

 j.cancel();

2:每小時(shí)的固定時(shí)間

例如:每小時(shí)的40分鐘執(zhí)行

  var rule = new schedule.RecurrenceRule();

  rule.minute = 40;

  var j = schedule.scheduleJob(rule, function(){

    console.log("執(zhí)行任務(wù)");

  });

3:一個(gè)星期中的某些天的某個(gè)時(shí)刻執(zhí)行,

例如:周一到周日的20點(diǎn)執(zhí)行

  var rule = new schedule.RecurrenceRule();

  rule.dayOfWeek = [0, new schedule.Range(1, 6)];

  rule.hour = 20;

  rule.minute = 0;

  var j = schedule.scheduleJob(rule, function(){

    console.log("執(zhí)行任務(wù)");

  });

4:每秒執(zhí)行

  var rule = new schedule.RecurrenceRule();

  var times = [];

  for(var i=1; i<60; i++){

    times.push(i);

  }

  rule.second = times;

  var c=0;
  var j = schedule.scheduleJob(rule, function(){
      c++;
     console.log(c);
  });

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • npm與node版本不匹配問(wèn)題解決思路及方法

    npm與node版本不匹配問(wèn)題解決思路及方法

    當(dāng)nodejs和npm的版本不匹配時(shí),會(huì)出現(xiàn)一些奇怪的報(bào)錯(cuò),這是因?yàn)閚pm與nodejs版本不兼容導(dǎo)致的,這篇文章主要給大家介紹了關(guān)于npm與node版本不匹配問(wèn)題解決思路及方法的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • nodejs處理圖片的幾種方法總結(jié)(使用sharp、jimp及webconvert)

    nodejs處理圖片的幾種方法總結(jié)(使用sharp、jimp及webconvert)

    這篇文章主要給大家介紹了關(guān)于nodejs處理圖片的幾種方法,文中介紹的方法分別是sharp、jimp及webconvert,在開(kāi)發(fā)過(guò)程中我們有時(shí)候需要對(duì)圖片進(jìn)行處理,給一個(gè)圖片添加水印、多個(gè)圖片合成為一圖片等操作,需要的朋友可以參考下
    2023-12-12
  • 詳解如何在Node.js中實(shí)現(xiàn)HTTP/2推送信息

    詳解如何在Node.js中實(shí)現(xiàn)HTTP/2推送信息

    HTTP/2 是一種現(xiàn)代化的網(wǎng)絡(luò)協(xié)議,它引入了多路復(fù)用、頭部壓縮和服務(wù)器推送等特性,其中,服務(wù)器推送允許服務(wù)器在客戶(hù)端請(qǐng)求資源時(shí),主動(dòng)推送額外的資源,提升頁(yè)面加載速度,下面將介紹如何在 Node.js 中實(shí)現(xiàn) HTTP/2 推送信息,需要的朋友可以參考下
    2024-12-12
  • 基于nodejs使用express創(chuàng)建web服務(wù)器的操作步驟

    基于nodejs使用express創(chuàng)建web服務(wù)器的操作步驟

    express實(shí)際上是對(duì)nodejs內(nèi)置http進(jìn)行封裝后的第三方包,其中提供了快捷創(chuàng)建web服務(wù)器以及處理請(qǐng)求路由的方法,使我們可以更加方便快捷的實(shí)現(xiàn)一個(gè)web服務(wù)器項(xiàng)目,本文件給大家詳細(xì)介紹基于nodejs使用express?創(chuàng)建web服務(wù)器的操作步驟
    2023-07-07
  • 利用adb shell和node.js實(shí)現(xiàn)抖音搶紅包功能(推薦)

    利用adb shell和node.js實(shí)現(xiàn)抖音搶紅包功能(推薦)

    這篇文章主要介紹了利用adb shell和node.js實(shí)現(xiàn)抖音搶紅包功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2018-02-02
  • Node交互式的SFTP上傳實(shí)現(xiàn)過(guò)程剖析

    Node交互式的SFTP上傳實(shí)現(xiàn)過(guò)程剖析

    這篇文章主要為大家介紹了Node交互式的SFTP上傳實(shí)現(xiàn)過(guò)程剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Node.js基于node-schedule實(shí)現(xiàn)定時(shí)任務(wù)的操作步驟

    Node.js基于node-schedule實(shí)現(xiàn)定時(shí)任務(wù)的操作步驟

    實(shí)際工作中,可能會(huì)遇到定時(shí)清除某個(gè)文件夾內(nèi)容,定時(shí)發(fā)送消息或發(fā)送郵件給指定用戶(hù),定時(shí)導(dǎo)出某些數(shù)據(jù)等,node-schedule是一個(gè)非常不錯(cuò)的npm包,可以幫助我們快速的創(chuàng)建和管理定時(shí)任務(wù),所以本文介紹了Node.js基于node-schedule實(shí)現(xiàn)定時(shí)任務(wù)的操作步驟,需要的朋友可以參考下
    2024-09-09
  • koa-passport實(shí)現(xiàn)本地驗(yàn)證的方法示例

    koa-passport實(shí)現(xiàn)本地驗(yàn)證的方法示例

    這篇文章主要介紹了koa-passport實(shí)現(xiàn)本地驗(yàn)證的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-02-02
  • Node.js Streams文件讀寫(xiě)操作詳解

    Node.js Streams文件讀寫(xiě)操作詳解

    如果你在處理應(yīng)用中 I/O 相關(guān)的操作,你可以利用 Node.js 中的流(stream),這篇文章主要為大家詳細(xì)介紹了Node.js Streams文件讀寫(xiě)操作,感興趣的小伙伴們可以參考一下
    2016-07-07
  • nodejs中使用多線程編程的方法實(shí)例

    nodejs中使用多線程編程的方法實(shí)例

    這篇文章主要介紹了nodejs中使用多線程編程的方法實(shí)例,本文使用nodejs addon借助c/c++的能力擴(kuò)展nodejs多線程編程,需要的朋友可以參考下
    2015-03-03

最新評(píng)論

同心县| 汶上县| 三江| 崇州市| 和平区| 调兵山市| 郓城县| 铜川市| 海伦市| 平潭县| 武义县| 海兴县| 嘉义市| 鲁甸县| 双峰县| 鞍山市| 裕民县| 海丰县| 舒城县| 朝阳市| 墨脱县| 淮滨县| 江源县| 德钦县| 郴州市| 浮山县| 大新县| 东丽区| 荥阳市| 兴海县| 桐梓县| 太仓市| 大英县| 五大连池市| 石林| 蓬莱市| 翁牛特旗| 汉寿县| 西贡区| 抚州市| 兴山县|