nodejs定时任务node-schedule
1:使用npm安装node-schedule模块
npm
install
node-schedule
(1)每隔5分钟执行一次:
var schedule = require('node-schedule'); var rule = new schedule.RecurrenceRule(); rule.minute = [0,5,10,15,20,25,30,35,40,45,50,55]; var j = schedule.scheduleJob(rule,function(){ console.log("执行任务:"+new Date()); });
(2)上午8点到晚上20点每隔5分钟执行一次:
var schedule = require('node-schedule'); var rule = new schedule.RecurrenceRule(); rule.hour = [8,9,10,11,12,13,14,15,16,17,18,19,20]; rule.minute = [0,5,10,15,20,25,30,35,40,45,50,55]; var j = schedule.scheduleJob(rule,function(){ console.log("执行任务:"+new Date()); });
2:以下内容参考:
http://www.codexpedia.com/javascript/nodejs-cron-schedule-examples/
Using the node-schedule to schedule a job to run at a specific time on a specific date. As the first example, the node-schedule module is imported and save it in the variable cron. In the following examle, the require statement will be ommitted and this variable cron will be used.
1
2
3
4
5
6
|
var cron = require( 'node-schedule' ); /* run the job at 18:55:30 on Dec. 14 2018*/ var date = new Date(2018, 11, 14, 18, 56, 30); cron.scheduleJob(date, function (){ console.log( new Date(), "The world is going to end today." ); }); |
Schedule a recurring job using the RecurrenceRule, example 1.
1
2
3
4
5
|
var rule = new cron.RecurrenceRule(); rule.second = 30; cron.scheduleJob(rule, function (){ console.log( new Date(), 'The 30th second of the minute.' ); }); |
Schedule a recurring job using the RecurrenceRule, example 2.
1
2
3
4
5
6
7
8
|
/* This runs at 3:10AM every Friday, Saturday and Sunday. */ var rule2 = new cron.RecurrenceRule(); rule2.dayOfWeek = [5,6,0]; rule2.hour = 3; rule2.minute = 10; cron.scheduleJob(rule2, function (){ console.log( 'This runs at 3:10AM every Friday, Saturday and Sunday.' ); }); |
Specify the schedule as an object literal.
1
2
3
4
|
/* This runs at 2:30AM on every Sunday */ cron.scheduleJob({hour: 2, minute: 30, dayOfWeek: 0}, function (){ console.log( 'This runs at 2:30AM on every Sunday' ); }); |
Specify the schedule in unix cron syntax.
1
2
3
4
|
/* This runs at the 30th mintue of every hour. */ cron.scheduleJob( '30 * * * * *' , function (){ console.log( 'This runs at the 30th mintue of every hour.' ); }); |