Javascript 在节点cron中未调用onComplete()
您好,我正在尝试测试Javascript 在节点cron中未调用onComplete(),javascript,node.js,cron,Javascript,Node.js,Cron,您好,我正在尝试测试节点cron,但在一种情况下无法获得所需的响应 当当前cron完成时,我需要再次启动cron请求。因此,我需要调用onComplete(),但我无法获得回调 我的代码片段是: CronWrapper.prototype.pushNotificationCron = function() { // change console to winston in real implementation. console.log('Creating job');
节点cron
,但在一种情况下无法获得所需的响应
当当前cron完成时,我需要再次启动cron请求。因此,我需要调用onComplete()
,但我无法获得回调
我的代码片段是:
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)
输出:
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)
请指出我犯了什么错误
库详细信息:
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)
“cron”:“1.0.5”仔细阅读文档后,我发现我缺少调用stop() 如文件所述 onComplete-[可选]-作业启动时将触发的函数 完成,当它停止时 因此,现在我在完成时手动调用
stop()
,并获取回调。现在我的代码看起来像:
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:
我不认为调用stop()方法是个好主意,那么为什么它被称为批处理作业呢? stop()方法将终止批处理,并且不会在下一个计划时间再次执行。 我相信它是为了调试目的而设计的,比如在捕获错误时停止作业或者类似的事情