mirror of
https://github.com/HDT3213/delayqueue.git
synced 2025-10-04 06:46:47 +08:00
support redis cluster
This commit is contained in:
@@ -57,6 +57,46 @@ func TestDelayQueue_consume(t *testing.T) {
|
||||
}
|
||||
}
|
||||
|
||||
func TestDelayQueueOnCluster(t *testing.T) {
|
||||
redisCli := redis.NewClusterClient(&redis.ClusterOptions{
|
||||
Addrs: []string{
|
||||
"127.0.0.1:7000",
|
||||
"127.0.0.1:7001",
|
||||
"127.0.0.1:7002",
|
||||
},
|
||||
})
|
||||
redisCli.FlushDB(context.Background())
|
||||
size := 1000
|
||||
succeed := 0
|
||||
cb := func(s string) bool {
|
||||
succeed++
|
||||
return true
|
||||
}
|
||||
queue := NewQueueOnCluster("test", redisCli, cb).
|
||||
WithFetchInterval(time.Millisecond * 50).
|
||||
WithMaxConsumeDuration(0).
|
||||
WithLogger(log.New(os.Stderr, "[DelayQueue]", log.LstdFlags)).
|
||||
WithFetchLimit(2).
|
||||
WithConcurrent(1)
|
||||
|
||||
for i := 0; i < size; i++ {
|
||||
err := queue.SendDelayMsg(strconv.Itoa(i), 0)
|
||||
if err != nil {
|
||||
t.Error(err)
|
||||
}
|
||||
}
|
||||
for i := 0; i < 10*size; i++ {
|
||||
err := queue.consume()
|
||||
if err != nil {
|
||||
t.Errorf("consume error: %v", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
if succeed != size {
|
||||
t.Error("msg not consumed")
|
||||
}
|
||||
}
|
||||
|
||||
func TestDelayQueue_ConcurrentConsume(t *testing.T) {
|
||||
redisCli := redis.NewClient(&redis.Options{
|
||||
Addr: "127.0.0.1:6379",
|
||||
|
Reference in New Issue
Block a user