summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy McCurdy <andy@andymccurdy.com>2014-05-06 13:14:39 -0700
committerAndy McCurdy <andy@andymccurdy.com>2014-05-06 13:14:39 -0700
commitbb37148294e9b91c1da872a84a7bf217c15b064d (patch)
tree6ddb6af3866807d305dac9e19fc0ef209c823a74
parentfad787625bc38194fe75e82750a93257c5ea32b5 (diff)
downloadredis-py-bb37148294e9b91c1da872a84a7bf217c15b064d.tar.gz
add the SENTINEL MASTER <service_name> info command
-rw-r--r--redis/client.py9
1 files changed, 8 insertions, 1 deletions
diff --git a/redis/client.py b/redis/client.py
index ccb3606..708b38f 100644
--- a/redis/client.py
+++ b/redis/client.py
@@ -163,6 +163,8 @@ def parse_sentinel(response, **options):
state = parse_sentinel_state(imap(nativestr, item))
result[state['name']] = state
return result
+ elif parse == 'SENTINEL_INFO_MASTER':
+ return parse_sentinel_state(imap(nativestr, response))
elif parse == 'SENTINEL_ADDR_PORT':
if response is None:
return
@@ -608,8 +610,13 @@ class StrictRedis(object):
parse = 'SENTINEL'
return self.execute_command('SENTINEL', *args, **{'parse': parse})
+ def sentinel_master(self, service_name):
+ "Returns a dictionary containing the specified masters state."
+ return self.execute_command('SENTINEL', 'master', service_name,
+ parse='SENTINEL_INFO_MASTER')
+
def sentinel_masters(self):
- "Returns a dictionary containing the master's state."
+ "Returns a list of dictionaries containing each master's state."
return self.execute_command('SENTINEL', 'masters',
parse='SENTINEL_INFO_MASTERS')