Skip to content

Commit 48afb8a

Browse files
committed
Use blocking pop correctly.
1 parent 44dd501 commit 48afb8a

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

pyres/__init__.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,8 +105,8 @@ def push(self, queue, item):
105105
self.watch_queue(queue)
106106
self.redis.rpush("resque:queue:%s" % queue, ResQ.encode(item))
107107

108-
def pop(self, queue):
109-
ret = self.redis.lpop("resque:queue:%s" % queue)
108+
def pop(self, queue, timeout=10):
109+
ret = self.redis.blpop("resque:queue:%s" % queue, timeout=timeout)
110110
if ret:
111111
return ResQ.decode(ret)
112112
return ret

pyres/job.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,11 @@ def retry(self, payload_class, args):
7777
return False
7878

7979
@classmethod
80-
def reserve(cls, queue, res, worker=None):
80+
def reserve(cls, queue, res, worker=None, timeout=10):
8181
"""Reserve a job on the queue. This marks this job so that other workers
8282
will not pick it up.
8383
8484
"""
85-
payload = res.blpop(queue, timeout=10)
85+
payload = res.pop(queue, timeout=timeout)
8686
if payload:
8787
return cls(queue, payload, res, worker)

pyres/worker.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,10 +193,10 @@ def process(self, job=None):
193193
finally:
194194
self.done_working()
195195

196-
def reserve(self):
196+
def reserve(self, timeout=10):
197197
for q in self.queues:
198198
logger.debug('checking queue %s' % q)
199-
job = Job.reserve(q, self.resq, self.__str__())
199+
job = Job.reserve(q, self.resq, self.__str__(), timeout=timeout)
200200
if job:
201201
logger.info('Found job on %s' % q)
202202
return job

0 commit comments

Comments
 (0)