节点调度程序并非每天都在运行

时间:2018-12-20 09:53:51

标签: node.js scheduled-tasks

我已经创建了一个计划程序

var rule = new schedule.RecurrenceRule();
    rule.dayOfWeek = [0, 1, 2, 3, 4, 5, 6];
    rule.date = [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19, 20,21,22,23,24,25,26,27,28,29,30,31];
    rule.hour = 15;
    rule.minute = 0;
    rule.second = 0;

    var timeEverySecond = schedule.scheduleJob(rule, function(){});

但是问题是它在第一次运行时仅在15小时运行一次,而不是每天运行一次。但是我也设定了星期几和日期。如何创建规则以每15小时运行一次此代码。

3 个答案:

答案 0 :(得分:1)

您可以使用node-cron。

let cron = require('node-cron');

cron.schedule('0 */15 * * *', () => {
 // Do your stuff
});

答案 1 :(得分:1)

好像您正在使用节点计划模块,每15小时执行一次,您可以尝试执行以下操作:

schedule.scheduleJob('*/15 * * *', function(){
     console.log("Executing by every 15 mins !!")
});

如果您想在一天的第15小时(即每天下午3点)执行,可以尝试执行以下操作:

var rule = new schedule.RecurrenceRule();
    rule.dayOfWeek = [0, 1, 2, 3, 4, 5, 6];
    rule.hour = 15;
    rule.minute = 0;
    rule.second = 0;

var timeEverySecond = schedule.scheduleJob(rule, function(){});

答案 2 :(得分:0)

1 * 2 * 3 * 4 * 5 * 6 *

6 *星期几(0-7)(0或7是星期日)

5 *月(1-12)

每月4 *(1-31)

3 *小时(0-23)

2 *分钟(0-59)

1 *秒(0-59,可选)

var schedule = require('node-schedule');

var j = schedule.scheduleJob('* * * * *', function(){
  console.log('your code!');
 });