diff --git a/pyres/__init__.py b/pyres/__init__.py index bc4bf28..520b6e6 100644 --- a/pyres/__init__.py +++ b/pyres/__init__.py @@ -141,8 +141,17 @@ def _set_redis(self, server): self.dsn = server host, port = server.split(':') self._redis = Redis(host=host, port=int(port)) + self.host = host + self.port = int(port) elif isinstance(server, Redis): - self.dsn = '%s:%s' % (server.host,server.port) + if hasattr(server, "host"): + self.host = server.host + self.port = server.port + else: + connection = server.connection_pool.get_connection() + self.host = connection.host + self.port = connection.port + self.dsn = '%s:%s' % (self.host, self.port) self._redis = server else: raise Exception("I don't know what to do with %s" % str(server)) @@ -194,7 +203,7 @@ def info(self): 'workers' : len(self.workers()), #'working' : len(self.working()), 'failed' : Stat('failed',self).get(), - 'servers' : ['%s:%s' % (self.redis.host, self.redis.port)] + 'servers' : ['%s:%s' % (self.host, self.port)] } def keys(self): diff --git a/resweb/views.py b/resweb/views.py index 99f7b7d..3dd8a63 100644 --- a/resweb/views.py +++ b/resweb/views.py @@ -20,7 +20,7 @@ def close(self): self.resq.close() def address(self): - return '%s:%s' % (self.resq.redis.host,self.resq.redis.port) + return '%s:%s' % (self.resq.host,self.resq.port) def version(self): return str(__version__) @@ -263,7 +263,7 @@ def title(self): if self.key_id == 'resque': return 'Pyres' elif self.key_id == 'redis': - return '%s:%s' % (self.resq.redis.host,self.resq.redis.port) + return '%s:%s' % (self.resq.host,self.resq.port) elif self.key_id == 'keys': return 'Keys owned by Pyres' else: