节点 js 中的 cron 作业 运行 多次
cron job in node js running multiple times
我正在 运行使用节点 js 的模块 node-cron 执行 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 一次启动 运行s 多次,因为相同的数据被插入到我的数据库中。我只需要 运行 这份工作只有一次。我该怎么办
您可以从 onTick
:
调用 Job.stop()
onTick : function() {
Job.stop();
co(function*() {
yield insertToDatabase();
}).catch(ex => {
console.log('error');
});
}
就我而言,我更改了我的代码:
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();
谢谢
我正在 运行使用节点 js 的模块 node-cron 执行 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 一次启动 运行s 多次,因为相同的数据被插入到我的数据库中。我只需要 运行 这份工作只有一次。我该怎么办
您可以从 onTick
:
Job.stop()
onTick : function() {
Job.stop();
co(function*() {
yield insertToDatabase();
}).catch(ex => {
console.log('error');
});
}
就我而言,我更改了我的代码:
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();
谢谢