sails-hook-cron在config / cron.js文件中,schedule:'* * * * * *'可以是变量吗?

问题描述 投票:0回答:1

我正在使用sailsJS和sails-hook-cron。

我想设置config / cron.js文件的“schedule”var,其中包含一个来自MySQL查询的变量到DB。

那可能吗?

谢谢。

javascript cron sails.js
1个回答
0
投票

不是,好吧,如果你想要动态启动Cron作业,这可能是你想要从数据库中获取信息的唯一原因。

相反,您可以使用服务。一个非常基本的例子是在api / services文件夹中创建一个名为CronService.js的文件。

// CronService.js
var CronJob = require('cron').CronJob;
module.exports = {
    startJob : function(time) {
        new CronJob(time, function() {
          // does whatever you need to do.
        }, null, true);
    }
}

然后可以在控制器中调用此服务。例如。

startCronService : function(req, res, next) {
    // Call mysql db and get the schedule data.
    // Set the time variable with the schedule data and start the job
    var time = '10 * * * * *';
    CronService.startJob(time);
    res.ok();
},

有关使用cron包的完整详细信息,请参阅https://www.npmjs.com/package/cron

© www.soinside.com 2019 - 2024. All rights reserved.