scheduleJob定时任务和setInterval定时器
scheduleJob定时任务
node-schedule 是 Node.js 的一个 定时任务(crontab)模块。
- 安装
npm install node-schedule
- 引用该模块
const schedule = require('node-schedule');
- 用法
// 定义规则
let rule = new schedule.RecurrenceRule();
rule.date = [1];//每月1号
rule.dayOfWeek = [1,3,5];每周一、周三、周五
rule.hour = [0,12]; // 每天0点和12点开始推送
rule.minute = [0,5,10,15,20,25,30,35,40,45,50,55]; // 每隔 5 分钟执行一次
rule.second = 0;//每分钟的0秒执行
// 启动任务
let job = schedule.scheduleJob(rule, () => {
console.log(new Date());
});
- 取消任务
job.cancel();
定时器setInterval的停止与启动
使用:
var interval = setInterval(func, 2000); //启动,func不能使用括号
clearInterval(interval );//停止
interval = setInterval(func, 2000); //重新启动即可
示例:
var count = 5;
var interval = setInterval(() => {
if(index >= count) {
clearInterval(interval);//结束触发器
return;
}
index++;
}, 5 * 60000);//5分钟触发一次