如何使用node-schedule在指定时间运行任务?

时间:2017-04-06 14:29:16

标签: javascript node.js linux cron-task

我希望每天早上8点使用node-schedule包https://www.npmjs.com/package/node-schedule运行节点任务,而不是每天早上8点运行节点任务。什么是我可以申请规则来实现我的任务的正确方法?我们在linux上使用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;
                }
            });
    });
}

1 个答案:

答案 0 :(得分:0)

如果您想自动执行任务并且会重复执行,那么您可以尝试以下代码:

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