在nodeJS中每小时运行一次调度作业

runSchedule job every hour in nodeJS

本文关键字:一次 调度作业 nodeJS 每小时 运行      更新时间:2023-12-24

我正在使用nodejs和Mongodb。我想让每个用户都使用npm节点调度来运行作业,但它不起作用

这是我的代码

    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.

试试这个:

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!');
});

更多示例可在此处找到

crontab配置应该是0 */'+mailTimer+' * * *

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