-1

我正在使用模块 node-cron 为 node 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 一旦开始运行多次,因为相同的数据被插入到我的数据库中。我只需要运行一次这项工作。我该怎么办。

4

2 回答 2

0

您可以拨打电话Job.stop()onTick

onTick : function() {
  Job.stop();
  co(function*() {
    yield insertToDatabase();
  }).catch(ex => {
    console.log('error');
  });
}
于 2017-09-14T06:26:51.843 回答
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();

谢谢

于 2020-10-13T14:30:42.870 回答