我正在使用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.
答案 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 * * *