我正在使用模块node-cron为节点js运行一个cron作业。我的代码如下。
var Job = new CronJob({
cronTime: '* * 01 * * *', //Execute at 1 am every day
onTick : function() {
co(function*() {
yield insertToDatabase(); //this is the function that does insert operation
}).catch(ex => {
console.log('error')
});
},
start : false,
timeZone: 'Asia/Kolkata'
});
我只需要执行一次,但是这个cronjob一旦开始运行多次,因为相同的数据被插入到我的数据库中。我只需要一次这个工作。我该怎么办。
答案 0 :(得分:0)
您可以从Job.stop()
致电onTick
:
onTick : function() {
Job.stop();
co(function*() {
yield insertToDatabase();
}).catch(ex => {
console.log('error');
});
}
答案 1 :(得分:0)
就我而言,我从此更改了代码:
var job = new CronJob('*/59 * * * *', onTick, onComplete, true, 'Asia/Kolkata'); // onTick and onComplete is a function, which i'm not showing here
job.start();
对此:
var job = new CronJob('*/59 * * * *', onTick, onComplete, false, 'Asia/Kolkata'); // onTick and onComplete is a function, which i'm not showing here
job.start();
谢谢