Navigation Menu

Skip to content

Commit

Permalink
get redis host/port from connection_pool object instead of main object
Browse files Browse the repository at this point in the history
redis-py 2.4.0 removed host/port accessors on the main Redis object.
If those accessors aren't available, get a connection object from the
connection_pool and get the host/port from there.  Store the host
and port on the ResQ object so we don't have to keep poking the
connection pool.
  • Loading branch information
joeshaw committed Jun 13, 2011
1 parent fe9aa2a commit 7e3d779
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 4 deletions.
13 changes: 11 additions & 2 deletions pyres/__init__.py
Expand Up @@ -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))
Expand Down Expand Up @@ -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):
Expand Down
4 changes: 2 additions & 2 deletions resweb/views.py
Expand Up @@ -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__)
Expand Down Expand Up @@ -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:
Expand Down

0 comments on commit 7e3d779

Please sign in to comment.