From ad89f5935cd7360f9327442552c83b851ef38f62 Mon Sep 17 00:00:00 2001 From: Evan Tahler Date: Sun, 4 Sep 2016 10:22:40 -0700 Subject: [PATCH] update worker untrack commands to work across cluster (no multi) --- lib/worker.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/worker.js b/lib/worker.js index 67731692..24064522 100644 --- a/lib/worker.js +++ b/lib/worker.js @@ -375,6 +375,8 @@ worker.prototype.track = function(callback){ worker.prototype.untrack = function(name, queues, callback){ var self = this; + var jobs = []; + if(self.connection && self.connection.redis){ self.connection.redis.srem(self.connection.key('workers'), (name + ':' + queues), function(error){ if(error){ @@ -383,12 +385,16 @@ worker.prototype.untrack = function(name, queues, callback){ return; } - self.connection.redis.del([ + [ self.connection.key('worker', name, self.stringQueues()), self.connection.key('worker', name, self.stringQueues(), 'started'), self.connection.key('stat', 'failed', name), self.connection.key('stat', 'processed', name) - ], function(error){ + ].forEach(function(key){ + jobs.push(function(done){ self.connection.redis.del(key, done); }); + }); + + async.series(jobs, function(error){ if(error){ self.emit('error', null, null, error); } if(typeof callback === 'function'){ callback(error); } });