diff options
author | Tim Laszlo <tim.laszlo@gmail.com> | 2012-10-19 08:49:34 -0500 |
---|---|---|
committer | Tim Laszlo <tim.laszlo@gmail.com> | 2012-10-19 08:49:34 -0500 |
commit | d2ef855948a34b9494b463ceb57dfd575b2df20f (patch) | |
tree | a3dae6018d45feb99fd57331f89ce827a1dead76 | |
parent | c28d2eefca82adc4872183869b10f3915a485ca8 (diff) | |
download | bcfg2-d2ef855948a34b9494b463ceb57dfd575b2df20f.tar.gz bcfg2-d2ef855948a34b9494b463ceb57dfd575b2df20f.tar.bz2 bcfg2-d2ef855948a34b9494b463ceb57dfd575b2df20f.zip |
Switch redis transport to use pubsub()
-rw-r--r-- | src/lib/Bcfg2/Reporting/Transport/RedisTransport.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/lib/Bcfg2/Reporting/Transport/RedisTransport.py b/src/lib/Bcfg2/Reporting/Transport/RedisTransport.py index 64328d772..22d9af57e 100644 --- a/src/lib/Bcfg2/Reporting/Transport/RedisTransport.py +++ b/src/lib/Bcfg2/Reporting/Transport/RedisTransport.py @@ -125,17 +125,19 @@ class RedisTransport(TransportBase): """ Send a command to the queue. Timeout after 10 seconds """ + pubsub = self._redis.pubsub() + channel = "%s%s" % (platform.node(), int(time.time())) + pubsub.subscribe(channel) self._redis.rpush(RedisTransport.COMMAND_KEY, cPickle.dumps(RedisMessage(channel, method, args, kwargs))) - self._redis.subscribe(channel) - resp = self._redis.listen() + resp = pubsub.listen() signal.signal(signal.SIGALRM, self.shutdown) signal.alarm(10) resp.next() # clear subscribe message response = resp.next() - self._redis.unsubscribe() + pubsub.unsubscribe() try: return cPickle.loads(response['data']) |