From 7c1189cf3c79618dc9f1ae1e22841362f3af30e7 Mon Sep 17 00:00:00 2001 From: jason allen Date: Thu, 15 Dec 2016 09:27:27 -0800 Subject: [PATCH] [FIX] worker destroy will really stop it. --- src/worker.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/worker.js b/src/worker.js index da5440e..b26c162 100644 --- a/src/worker.js +++ b/src/worker.js @@ -31,6 +31,7 @@ export default class Job extends events.EventEmitter { this.checkInterval = opts.interval || 1500; this.checkSize = opts.size || 10; this.doctype = opts.doctype || constants.DEFAULT_SETTING_DOCTYPE; + this.running = true; this.debug = (...msg) => debug(...msg, `id: ${this.id}`); @@ -40,6 +41,7 @@ export default class Job extends events.EventEmitter { } destroy() { + this.running = false; clearInterval(this._checker); } @@ -237,6 +239,9 @@ export default class Job extends events.EventEmitter { } _startJobPolling() { + if (!this.running) { + return; + } this._checker = setInterval(() => { this._getPendingJobs() .then((jobs) => this._claimPendingJobs(jobs)); @@ -335,4 +340,4 @@ export default class Job extends events.EventEmitter { this.emit(constants.EVENT_WORKER_JOB_SEARCH_ERROR, this._formatErrorParams(err)); }); } -} \ No newline at end of file +}