diff --git a/jobProcessor.js b/jobProcessor.js index 83eac7c..78829fd 100644 --- a/jobProcessor.js +++ b/jobProcessor.js @@ -108,38 +108,27 @@ var processReport=function(job,done){ rpt.save(function (err,doc) { if(err) { console.log('error while saving report:',rpt,err); + done(err); } else { var boardCompleteCount=0; var boardsCount=doc.boardIds.length; _.forEach(doc.boardIds,function(boardId){ //loop through board list and create jobs - var boardJob=queue.create('board',{ - boardId: boardId, - reportId: doc._id, - lists: doc.lists, - apiKey: doc.accessKey, - accessToken: doc.accessToken - }).save(function(err){ + processBoard(doc.accessKey,doc.accessToken,doc._id,boardId,doc.lists,function(err,result){ + ++boardCompleteCount; + if(err) { console.log(err); done(err); + return; } else { - console.log('saved board job:', boardJob.id); + job.progress(boardCompleteCount,boardsCount); + console.log('saved board:', boardId); } }); - - boardJob.on('complete',function(result){ - ++boardCompleteCount; - job.progress(boardCompleteCount,boardsCount,result); -console.log('boardCompleteCount/boardsCount:',boardCompleteCount,boardsCount); - if(boardCompleteCount===boardsCount){ - console.log('done with job!',done); - //job.complete(function(){ done(null,doc) }); - } - }); - - //CWD-- really should handle failures here too so we don't have zombies }); + + done(null,doc); } }); }; @@ -151,9 +140,4 @@ queue.process('report', function(job, done){ }); processReport(job, done); -}); - -queue.process('board', function(job, done){ - var data=job.data; - processBoard(data.apiKey,data.accessToken,data.reportId,data.boardId,data.lists,done); }); \ No newline at end of file diff --git a/routes/index.js b/routes/index.js index 14422ef..0a275d1 100644 --- a/routes/index.js +++ b/routes/index.js @@ -101,7 +101,7 @@ router.post('/jobs', function(req, res, next) { if(err){ res.status(500).json(err); } else { - var job = queue.create('report',rpt).removeOnComplete(false).save( function(err){ + var job = queue.create('report',rpt).removeOnComplete(true).save( function(err){ if(err) { console.log(err); } else { @@ -109,6 +109,8 @@ router.post('/jobs', function(req, res, next) { } }); + job.on('complete', function(result){ console.log('wtf',result); }); + res.json(job); } });