[FIX] worker destroy will really stop it.

This commit is contained in:
jason allen
2016-12-15 09:27:27 -08:00
parent 7836ae5b39
commit 7c1189cf3c

View File

@@ -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));
});
}
}
}