Node.js通过cron模块实现定时执行脚本

Node.js通过cron模块实现定时执行脚本

实际开发中,可能会由定时执行某段代码的需求。下面分享如何使用cron在Node.js中如何实现该需求

思路

当前项目遇到了一个需求,每天的0时0分0秒统计前一天的网站访问量,并将该数据保存到一张表中。暂时不考虑数据库操作部分,只考虑如何实现定时执行某段脚本

由于使用Node.js开发,一拍脑袋刚开始想到的是使用setInterval:每秒执行一次,判断当前时间是否为0时0分0秒,如果是则执行脚本。但是后来考虑到这样做实在是太不美观了,所以使用了一款第三方包cron

cron就是一款可让您按计划执行某些任务的工具。

配置

安装

1
npm install cron --save

使用

引入 cron

1
const CronJob = require('cron').CronJob

建立定时任务

1
2
3
new CronJob('0 0 0 * * *',function(){ //每天0:0:0执行
定时任务
},null, true)

计时规则

计时规则就是 CronJob中的第一个字符串参数,该字符串由5个空格隔开的6个数字或字符构成。由左向右分别代表的含义为:

  • 秒:0-59
  • 分钟:0-59
  • 时间:0-23
  • 每月的日期:1-31
  • 月:0-11(1月-12月)
  • 星期几:0-6(周六)

如果该值为*则代表不限制某个时间

例如

0 0 0 * * *则代表每一天的0:0:0执行;

* * * * * *则代表每一秒都执行;

1 * * * * *则代表每分钟的第一秒执行;

1 * * 1 * *则代表每月的第一天 的 每分钟的第一秒执行;

0%