节点JS:如何每30分钟运行一次任务,包括现在

时间:2015-09-21 13:10:49

标签: node.js cron

我每30分钟就跑一次CronJob。 但它在开始时没有运行。 我怎样才能让它在开始时以及每30分钟运行一次?

var CronJob = require('cron').CronJob;
console.log('started ' + new Date());
    var job = new CronJob('0 */30 * * * *', function() {
            myJob()
        }, function () {

        },
        true, 
        'Indian/Mauritius'
    );
    job.start();

    function myJob()
    {
        console.log('in Job');
        console.log(new Date());
    }

输出

started Mon Sep 21 2015 18:44:29 GMT+0530 (IST)

1 个答案:

答案 0 :(得分:2)

您可以运行myJob(),然后启动您的cronjob。

或......

你可以改变你使用cron的方式,以便它在特定时间运行,比如现在和每半个小时这样:

var job = new CronJob('* 16,46 * * * *', // etc

假设时间现在是15:45,上述命令将在一分钟内运行(即每小时的第16和第46分钟)。使用更多的代码,您可以生成字符串“16,46”,从现在起一分钟,然后30分钟。