我正在使用sailsJS和sails-hook-cron。
我想设置config / cron.js文件的“schedule”var,其中包含一个来自MySQL查询的变量到DB。
那可能吗?
谢谢。
不是,好吧,如果你想要动态启动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