Fix:测试用例添加结束判断

This commit is contained in:
iTuring
2024-03-26 15:02:02 +08:00
committed by finley
parent 2880c3239b
commit b4e9e62d25

View File

@@ -167,22 +167,28 @@ func TestDelayQueue_StopConsume(t *testing.T) {
} }
func TestDelayQueue_AsyncConsume(t *testing.T) { func TestDelayQueue_AsyncConsume(t *testing.T) {
size := 10
redisCli := redis.NewClient(&redis.Options{ redisCli := redis.NewClient(&redis.Options{
Addr: "127.0.0.1:6379", Addr: "127.0.0.1:6379",
}) })
redisCli.FlushDB(context.Background()) redisCli.FlushDB(context.Background())
queue := NewQueue("exampleAsync", redisCli, func(payload string) bool { var queue *DelayQueue
// callback returns true to confirm successful consumption. var received int
// If callback returns false or not return within maxConsumeDuration, DelayQueue will re-deliver this message queue = NewQueue("exampleAsync", redisCli, func(payload string) bool {
println(payload) println(payload)
received++
if received == size {
queue.StopConsume()
t.Log("send stop signal")
}
return true return true
}).WithDefaultRetryCount(1) }).WithDefaultRetryCount(1)
// send schedule message // send schedule message
go func() { go func() {
for { for {
time.Sleep(time.Second * 1) time.Sleep(time.Millisecond * 500)
err := queue.SendScheduleMsg(time.Now().String(), time.Now().Add(time.Second*2)) err := queue.SendScheduleMsg(time.Now().String(), time.Now().Add(time.Second*1))
if err != nil { if err != nil {
panic(err) panic(err)
} }