在 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];