1. Installation
Command: npm install node-schedule
2. Use
There are two ways for node-schedule to do timed tasks.
2.1 Date-based Scheduling 方式
1. Determine the time, for example: November 21, 2017, 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(); // Cancel the preset plan
2. Fixed minutes per hour, for example: 42 minutes per hour
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. At a certain time on certain days of the week, for example: every Thursday, Friday, Saturday, Sunday at 17:00
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. Execute per second
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
The time format is as follows: 6 asterisks
var schedule = require('node-schedule'); //time format is '42 * * * *' or '0 42 * * * *', var j = schedule.scheduleJob('42 * * * *', function(){ console.log('The answer to life, the universe, and everything!'); });
2. Execute every Friday at 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!'); });