【问题标题】:How to use Generic cron jobs in node application?如何在节点应用程序中使用通用 cron 作业?
【发布时间】:2018-08-02 06:58:27
【问题描述】:

我有一个节点应用程序,我想在其中每天运行任务。所以我想使用 node-cron 来安排任务,但不是这样:

var cron = require('node-cron');

cron.schedule('* * * * *', function(){
  console.log('running a task every minute');
});

我需要一些通用的解决方案,以便在一个地方我只有空的身体用于 cron 作业,该作业从不同的位置获取不同的功能。这意味着我们总共有两个文件,一个只有 cron 作业函数处理程序,另一个有一个 cron 作业列表。从我们想要运行这些作业的地方,我们只需要 require 和一些基本的调用。

谁能建议我这个解决方案?

【问题讨论】:

    标签: cron node-cron


    【解决方案1】:

    我得到了我的解决方案。使用 node-cron-job 模块我已经实现了我想要的。让我详细解释一下:-

    首先我创建了包含作业的新文件,我们将其命名为 jobs.js :-

    // jobs.js 
    
    exports.first_job = {
    
        on:"* * * * * " //runs every minute
        },
        job: function () {
            console.log("first_job");
        },
        spawn: true             
    }
    
    exports.second_job = {
    
        on: "*/2 * * * * *",    //runs every 2 second 
        job: function () {
            console.log("second_job");
        },
        spawn: false            // If false, the job will not run in a separate process. 
    }
    

    在这里,我们定义了两个作业名称 first_job 和 second_job。我们可以定义尽可能多的需求。

    最后,我们需要通过这些简单的步骤从任何位置调用这些作业:-

    // main.js 
    
    var cronjob = require('node-cron-job');
    
    cronjob.setJobsPath(__dirname + '/jobs.js');  // Absolute path to the jobs module. 
    
    cronjob.startJob('first_job');  
    cronjob.startJob('second_job');
    

    我们可以像这样在一次调用中调用所有作业:-

    cronjob.startAllJobs();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-10
      • 2020-09-20
      • 1970-01-01
      相关资源
      最近更新 更多