Skip to content

Commit 626d017

Browse files
committed
registers worker again after a redis flush
1 parent c00c160 commit 626d017

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

pyres/worker.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ def register_worker(self):
5151
#self.resq._redis.add("worker:#{self}:started", Time.now.to_s)
5252
self.started = datetime.datetime.now()
5353

54+
def is_registered(self):
55+
return self.resq.redis.sismember('resque:workers', str(self))
56+
5457
def _set_started(self, dt):
5558
if dt:
5659
key = int(time.mktime(dt.timetuple()))
@@ -138,6 +141,9 @@ def work(self, interval=5):
138141
logger.info('shutdown scheduled')
139142
break
140143

144+
if not self.is_registered():
145+
self.register_worker()
146+
141147
job = self.reserve(interval)
142148

143149
if job:

tests/test_worker.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,11 @@ def test_unregister(self):
3838
assert self.redis.sismember('resque:workers',name)
3939
worker.unregister_worker()
4040
assert name not in self.redis.smembers('resque:workers')
41+
42+
def test_worker_is_registered(self):
43+
worker = Worker(['basic'])
44+
worker.register_worker()
45+
assert worker.is_registered()
4146

4247
def test_working_on(self):
4348
name = "%s:%s:%s" % (os.uname()[1],os.getpid(),'basic')

0 commit comments

Comments
 (0)