// 在2012年11月21日5:30执行
var schedule = require('node-schedule');
var date = new Date(2012, 11, 21, 5, 30, 0);
var j = schedule.scheduleJob(date, function(){
console.log('The world is going to end today.');
});
用法3:定期规则调度
每小时的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!');
});
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!');
});
RecurrenceRule 属性列表
second (0-59)
minute (0-59)
hour (0-23)
date (1-31)
month (0-11)
year
dayOfWeek (0-6) Starting with Sunday
用法4:对象字面量语法
在每个周日下午2:30记录一条消息
var j = schedule.scheduleJob({hour: 14, minute: 30, dayOfWeek: 0}, function(){
console.log('Time for tea!');
});
设置开始时间和结束时间,在此示例中,它将在5秒后运行并在10秒后停止
let startTime = new Date(Date.now() + 5000);
let endTime = new Date(startTime.getTime() + 5000);
var j = schedule.scheduleJob({ start: startTime, end: endTime, rule: '*/1 * * * * *' }, function(){
console.log('Time for tea!');
});
需求
定时导出某些数据、定时发送消息或邮件给用户、定时备份什么类型的文件等等
使用
安装
用法1:Cron风格定时器
6个占位符从左到右分别代表:秒、分、时、日、月、周几
*
表示通配符,匹配任意,当秒是*
时,表示任意秒数都触发,其它类推下面可以看看以下传入参数分别代表的意思
每个参数还可以传入数值范围:
用法2:基于时间(Date)
用法3:定期规则调度
每小时的42分时触发
您还可以使用数组指定可接受值的列表,使用Range对象指定起始值和结束值的范围,并使用可选的步骤参数。 例如,这将在周四,周五,周六和周日下午5点打印消息
RecurrenceRule 属性列表
用法4:对象字面量语法
在每个周日下午2:30记录一条消息
设置开始时间和结束时间,在此示例中,它将在5秒后运行并在10秒后停止
取消定时器
调用 定时器对象的cancl()方法即可