在 Node.js 中,我使用 node-schedule 来执行定时任务。Cron-style 的时间格式对于初学者不太直观,所以一般使用这种方式:比如官方示例中的每个小时的 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!'); });
那么问题来了,如何每隔 15 分钟、 30 分钟执行一次任务呢?
比较关键的地方在于 rule.minute 是支持数组的,知道这一点就很好操作了
每隔 15 分钟执行:
rule.minute = [0, 15, 45];
同理,每隔 30 分钟执行:
rule.minute = [0, 30];