我想每天运行节点任务8AM使用节点时间表包https://www.npmjs.com/package/node-schedule,而不是每天8AM它每分钟运行。我可以运用哪些正确的方法来实现我的任务?我们在linux上使用node-schedule
不确定在这种情况下格式是否不同。如何使用node-schedule在指定的时间运行任务?
cron.js
var cronSchedule = require('node-schedule');
module.exports = function CronJob() {
var rule = new cronSchedule.RecurrenceRule();
rule.hour = 8;
var dailyJob = cronSchedule.scheduleJob(rule, function() {
console.log('Testing 8AM');
async.eachSeries(directories, function (dir, cb1) {
var dir = __dirname + dir;
// get files for the directory
});
}, function (err, fileInfos) {
if (err) {
console.info('error', err);
return;
}
});
});
}
===========解决方案如下:
如果你想自动执行任务,它会反复出现,那么你可以试试下面的代码:
var schedule = require('node-schedule');
var scheduleFunction = schedule.scheduleJob('0 8 * * *', function(){
console.log('Yeah ! i did.'));
});
上面的代码将在08每天执行: 00 AM。
或者,如果你想在每季度开始执行一次代码,那么试试下面的代码:
var myRule = {hour: 0, minute: 0, dayOfWeek: 1, month: [0, 3, 6, 9]};
var scheduleFunction = schedule.scheduleJob(myRule, function(){
console.log('will execute every quarter'));
});