From d3094375ddeffc8b7654f99b94a9c8a8ab592eeb Mon Sep 17 00:00:00 2001 From: Joe Fleming Date: Thu, 28 Apr 2016 16:25:45 -0700 Subject: [PATCH] stop and start job polling when trying to claim jobs also return claiming and execution Promise --- src/worker.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/worker.js b/src/worker.js index f8a6fb0..d4b9c74 100644 --- a/src/worker.js +++ b/src/worker.js @@ -110,8 +110,10 @@ export default class Job extends events.EventEmitter { } _claimPendingJobs(jobs) { + this._stopJobPolling(); let claimed = false; - Bluebird.mapSeries(jobs, (job) => { + + return Bluebird.mapSeries(jobs, (job) => { if (claimed) return false; return this._claimJob(job) @@ -138,7 +140,8 @@ export default class Job extends events.EventEmitter { const job = claimedJobs[0]; this.debug(`Beginning work on ${job._id}`); return this._performJob(job); - }); + }) + .finally(() => this._startJobPolling()); } _getPendingJobs() {