Merge pull request #1033 from timvaillancourt/additional-sentinel-funcs

Add .Master(), .Slaves() and .CkQuorum() funcs for Sentinel
This commit is contained in:
Vladimir Mihailenco 2019-05-25 17:49:02 +03:00 committed by GitHub
commit 857fbcc4b3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 24 additions and 0 deletions

View File

@ -195,6 +195,30 @@ func (c *SentinelClient) Master(name string) *StringStringMapCmd {
return cmd
}
// Masters shows a list of monitored masters and their state.
func (c *SentinelClient) Masters() *SliceCmd {
cmd := NewSliceCmd("sentinel", "masters")
c.Process(cmd)
return cmd
}
// Slaves shows a list of slaves for the specified master and their state.
func (c *SentinelClient) Slaves(name string) *SliceCmd {
cmd := NewSliceCmd("sentinel", "slaves", name)
c.Process(cmd)
return cmd
}
// CkQuorum checks if the current Sentinel configuration is able to reach the
// quorum needed to failover a master, and the majority needed to authorize the
// failover. This command should be used in monitoring systems to check if a
// Sentinel deployment is ok.
func (c *SentinelClient) CkQuorum(name string) *StringCmd {
cmd := NewStringCmd("sentinel", "ckquorum", name)
c.Process(cmd)
return cmd
}
type sentinelFailover struct {
sentinelAddrs []string