Skip to content

node.js 定时任务:node-schedule 的使用

安装

bash
npm install node-schedule
npm install node-schedule

使用方法

确定时间

javascript
// 例如:2014 年 2 月 14 日,15:40 执行

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

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

var j = schedule.scheduleJob(date, function () {
  console.log("执行任务");
});

// 取消任务
j.cancel();
// 例如:2014 年 2 月 14 日,15:40 执行

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

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

var j = schedule.scheduleJob(date, function () {
  console.log("执行任务");
});

// 取消任务
j.cancel();

每小时的固定时间

javascript
// 例如:每小时的 40 分钟执行

var rule = new schedule.RecurrenceRule();

rule.minute = 40;

var j = schedule.scheduleJob(rule, function () {
  console.log("执行任务");
});
// 例如:每小时的 40 分钟执行

var rule = new schedule.RecurrenceRule();

rule.minute = 40;

var j = schedule.scheduleJob(rule, function () {
  console.log("执行任务");
});

一个星期中的某些天的某个时刻执行,

javascript
// 例如:周一到周日的 20 点执行

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("执行任务");
});
// 例如:周一到周日的 20 点执行

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("执行任务");
});

每秒执行

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

最后编辑时间:

Version 4.0 (framework-1.0.0-rc.20)