nodeJS中每小时运行一次runSchedule作业

时间:2016-04-05 09:56:42

标签: javascript node.js

我正在使用nodejs和Mongodb。我希望每个用户使用npm node-schedule定义工作时间来运行工作,但它没有用。

这是我的代码

    var schedule = require('node-schedule');
    var  mailTimer = 1;
    var intMail = schedule.scheduleJob('* * '+mailTimer+' * *', function(){
          console.log('its run');
    });

//its means its run every 1 hour.

3 个答案:

答案 0 :(得分:2)

试试这个:

var schedule = require('node-schedule');
var rule = new schedule.RecurrenceRule();
rule.hour = 1;
var intMail = schedule.scheduleJob(rule, function(){
      console.log('its run');
});

您可以使用其他规则进行设置:

*    *    *    *    *    *
┬    ┬    ┬    ┬    ┬    ┬
│    │    │    │    │    |
│    │    │    │    │    └ day of week (0 - 7) (0 or 7 is Sun)
│    │    │    │    └───── month (1 - 12)
│    │    │    └────────── day of month (1 - 31)
│    │    └─────────────── hour (0 - 23)
│    └──────────────────── minute (0 - 59)
└───────────────────────── second (0 - 59, OPTIONAL)

这是使用其他规则的另一个例子:

var j = schedule.scheduleJob({hour: 14, minute: 30, dayOfWeek: 0}, function(){
    console.log('Time for tea!');
});

可以找到更多示例here

答案 1 :(得分:1)

crontab配置应为0 */'+mailTimer+' * * *

答案 2 :(得分:1)

如果我没错,那么在输入字符串的末尾需要再添加一个*。添加它并检查响应。一小时,您可以使用* * 1 * * *