forked from mirror/redis
Merge pull request #109 from go-redis/feature/client-pause
Add ClientPause command.
This commit is contained in:
commit
c1033ead39
|
@ -1114,6 +1114,13 @@ func (c *commandable) ClientList() *StringCmd {
|
|||
return cmd
|
||||
}
|
||||
|
||||
func (c *commandable) ClientPause(dur time.Duration) *BoolCmd {
|
||||
cmd := NewBoolCmd("CLIENT", "PAUSE", formatMs(dur))
|
||||
cmd._clusterKeyPos = 0
|
||||
c.Process(cmd)
|
||||
return cmd
|
||||
}
|
||||
|
||||
func (c *commandable) ConfigGet(parameter string) *SliceCmd {
|
||||
cmd := NewSliceCmd("CONFIG", "GET", parameter)
|
||||
cmd._clusterKeyPos = 0
|
||||
|
|
|
@ -18,8 +18,10 @@ var _ = Describe("Commands", func() {
|
|||
|
||||
BeforeEach(func() {
|
||||
client = redis.NewClient(&redis.Options{
|
||||
Addr: redisAddr,
|
||||
PoolTimeout: 30 * time.Second,
|
||||
Addr: redisAddr,
|
||||
ReadTimeout: 500 * time.Millisecond,
|
||||
WriteTimeout: 500 * time.Millisecond,
|
||||
PoolTimeout: 30 * time.Second,
|
||||
})
|
||||
})
|
||||
|
||||
|
@ -75,6 +77,19 @@ var _ = Describe("Commands", func() {
|
|||
Expect(r.Val()).To(Equal(""))
|
||||
})
|
||||
|
||||
It("should ClientPause", func() {
|
||||
err := client.ClientPause(time.Second).Err()
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
|
||||
Consistently(func() error {
|
||||
return client.Ping().Err()
|
||||
}, "900ms").Should(HaveOccurred())
|
||||
|
||||
Eventually(func() error {
|
||||
return client.Ping().Err()
|
||||
}, "1s").ShouldNot(HaveOccurred())
|
||||
})
|
||||
|
||||
It("should ConfigGet", func() {
|
||||
r := client.ConfigGet("*")
|
||||
Expect(r.Err()).NotTo(HaveOccurred())
|
||||
|
@ -258,7 +273,7 @@ var _ = Describe("Commands", func() {
|
|||
})
|
||||
|
||||
It("should Migrate", func() {
|
||||
migrate := client.Migrate("localhost", "6380", "key", 0, 0)
|
||||
migrate := client.Migrate("localhost", redisSecondaryPort, "key", 0, 0)
|
||||
Expect(migrate.Err()).NotTo(HaveOccurred())
|
||||
Expect(migrate.Val()).To(Equal("NOKEY"))
|
||||
|
||||
|
@ -266,7 +281,7 @@ var _ = Describe("Commands", func() {
|
|||
Expect(set.Err()).NotTo(HaveOccurred())
|
||||
Expect(set.Val()).To(Equal("OK"))
|
||||
|
||||
migrate = client.Migrate("localhost", "6380", "key", 0, 0)
|
||||
migrate = client.Migrate("localhost", redisSecondaryPort, "key", 0, 0)
|
||||
Expect(migrate.Err()).To(MatchError("IOERR error or timeout writing to target instance"))
|
||||
Expect(migrate.Val()).To(Equal(""))
|
||||
})
|
||||
|
|
13
main_test.go
13
main_test.go
|
@ -17,7 +17,11 @@ import (
|
|||
"gopkg.in/redis.v3"
|
||||
)
|
||||
|
||||
const redisAddr = ":6379"
|
||||
const (
|
||||
redisPort = "6380"
|
||||
redisAddr = ":" + redisPort
|
||||
redisSecondaryPort = "6381"
|
||||
)
|
||||
|
||||
const (
|
||||
sentinelName = "mymaster"
|
||||
|
@ -27,7 +31,7 @@ const (
|
|||
sentinelPort = "8126"
|
||||
)
|
||||
|
||||
var sentinelMaster, sentinelSlave1, sentinelSlave2, sentinel *redisProcess
|
||||
var redisMain, sentinelMaster, sentinelSlave1, sentinelSlave2, sentinel *redisProcess
|
||||
|
||||
var cluster = &clusterScenario{
|
||||
ports: []string{"8220", "8221", "8222", "8223", "8224", "8225"},
|
||||
|
@ -39,6 +43,9 @@ var cluster = &clusterScenario{
|
|||
var _ = BeforeSuite(func() {
|
||||
var err error
|
||||
|
||||
redisMain, err = startRedis(redisPort)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
|
||||
sentinelMaster, err = startRedis(sentinelMasterPort)
|
||||
Expect(err).NotTo(HaveOccurred())
|
||||
|
||||
|
@ -57,6 +64,8 @@ var _ = BeforeSuite(func() {
|
|||
})
|
||||
|
||||
var _ = AfterSuite(func() {
|
||||
Expect(redisMain.Close()).NotTo(HaveOccurred())
|
||||
|
||||
Expect(sentinel.Close()).NotTo(HaveOccurred())
|
||||
Expect(sentinelSlave1.Close()).NotTo(HaveOccurred())
|
||||
Expect(sentinelSlave2.Close()).NotTo(HaveOccurred())
|
||||
|
|
Loading…
Reference in New Issue