使用node.js模块 node-schedule做定时任务


1.安装
命令: npm install node-schedule
2.使用

node-schedule做定时任务有两种方式可以选择

2.1 Date-based Scheduling 方式

  1、确定时间,例如:2017年11月21日,5:30

var schedule = require('node-schedule');
var date = new Date(2017, 11, 21, 5, 30, 0);
var j = schedule.scheduleJob(date, function(){
    console.log('The world is going to end today.');
});
j.cancel();  //取消预设计划

  2、每小时的固定分钟,例如:每个小时的42分钟

var schedule = require('node-schedule');
var rule = new schedule.RecurrenceRule();
rule.minute = 42; 
var j = schedule.scheduleJob(rule, function(){
    console.log('The answer to life, the universe, and everything!');
});

  3、一个星期中的某些天的某个时刻,例如:每周四,周五,周六,周天的17点

var rule = new schedule.RecurrenceRule();
rule.dayOfWeek = [0, new schedule.Range(4, 6)];
rule.hour = 17;
rule.minute = 0;
var j = schedule.scheduleJob(rule, function(){
    console.log('Today is recognized by Rebecca Black!');
});

  4、每秒执行

 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);
  });


2.2 Cron-style Scheduling 方式

时间格式如下图:6个星号


1、每小时的第42分钟执行
var schedule = require('node-schedule');
 //时间格式为 ‘42 * * * *’  或者 ‘0 42 * * * *’,
var j = schedule.scheduleJob('42 * * * *', function(){
  console.log('The answer to life, the universe, and everything!');
});

2、每周五的12:42:00执行

var schedule = require('node-schedule');
 //时间格式为 ‘42 * * * 5’  或者 ‘0 42 * * * 5’,
var j = schedule.scheduleJob('42 * * * 5', function(){
  console.log('The answer to life, the universe, and everything!');
});



猜你喜欢

转载自blog.csdn.net/yajie_china/article/details/79972592
今日推荐