onComplete()不会在节点cron中调用

嗨,我试图testingnode-cron但我不能在一个案件得到所需的答复。

当前的cron完成后,我需要再次启动cron请求。 所以,我需要onComplete()来调用,但我无法获得callback。

我的代码片段是:

 CronWrapper.prototype.pushNotificationCron = function() { // change console to winston in real implementation. console.log('Creating job'); var jobPattern = '*/10 * * * * *'; var job = new CronJob(jobPattern, onJobStarted, onJobCompleted, false); console.log('Starting job'); job.start(); }; var onJobStarted = function(){ var date = new Date(); console.log('Cron started on \t' + date); return; }; var onJobCompleted = function(){ winston.info('Job completed:'); }; 

输出:

 Cron started on Tue Dec 16 2014 12:59:40 GMT+0530 (IST) Cron started on Tue Dec 16 2014 12:59:50 GMT+0530 (IST) Cron started on Tue Dec 16 2014 13:00:00 GMT+0530 (IST) 

请指出我正在犯什么错误。

Lib细节:

“cron的”: “1.0.5”

在仔细阅读文档后,我发现我缺less了调用stop()。

如文件所述

onComplete – [可选] – 当作业完成, 停止时将触发的函数。

所以现在我手动调用stop()完成并获得callback。 所以现在我的代码如下所示:

 CronWrapper.prototype.pushNotificationCron = function() { // change console to winston in real implementation. console.log('Creating job'); var jobPattern = '*/10 * * * * *'; var job = new CronJob(jobPattern, function(){ var date = new Date(); console.log('Cron started on \t' + date); job.stop(); }, onJobCompleted, false); console.log('Starting job'); job.start(); }; // var onJobStarted = function(){ // var date = new Date(); // console.log('Cron started on \t' + date); // }; var onJobCompleted = function(){ winston.info('Job completed:'); }; 

产量

 Cron started on Tue Dec 16 2014 13:13:30 GMT+0530 (IST) info: Job completed: