summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAsk Solem <ask@celeryproject.org>2012-08-24 12:52:14 +0100
committerAsk Solem <ask@celeryproject.org>2012-08-24 12:52:14 +0100
commita12cef3523dbedc86bbae4b5e31be2dafe4501b8 (patch)
tree418f38cd422c5d1d9a9dddc73f6cd9972030ab6c
parent31d7869842c516443accfc7702798913177bd428 (diff)
downloadkombu-a12cef3523dbedc86bbae4b5e31be2dafe4501b8.tar.gz
Fixes race condition in Redis transport. Closes celery/celery#940. Closes celery/celery#938. Closes celery/celery#935
-rw-r--r--kombu/transport/redis.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/kombu/transport/redis.py b/kombu/transport/redis.py
index 39c8b4ca..5b826bfe 100644
--- a/kombu/transport/redis.py
+++ b/kombu/transport/redis.py
@@ -111,7 +111,7 @@ class QoS(virtual.QoS):
M, EX, RK = loads(p)
self.channel._do_restore_message(M, EX, RK)
- @cached_property
+ @property
def client(self):
return self.channel._avail_client
@@ -206,7 +206,8 @@ class MultiChannelPoller(object):
def on_poll_empty(self):
for channel in self._channels:
if channel.active_queues:
- channel.qos.restore_visible()
+ # only need to do this once, as they are not local to channel.
+ return channel.qos.restore_visible()
def handle_event(self, fileno, event):
if event & READ: