簡體   English   中英

Redis stream XReadGroup 不讀取新消息,即使 `BLOCK` 參數為 0

[英]Redis stream XReadGroup not reading new messages even if `BLOCK` parameter is 0

我正在使用 redis stream 和XReadGroup來讀取來自 stream 的消息。 我已將block參數設置為 0。目前我的代碼如下所示

data, err := w.rdb.XReadGroup(ctx, &redis.XReadGroupArgs{
            Group:    w.opts.group,
            Consumer: w.opts.consumer,
            Streams:  []string{w.opts.streamName, ">"},
            Count: 1,
            Block: 0,
        }).Result()

我目前面臨一個問題,如果我讓應用程序(涉及此代碼)空閑 10-12 小時,XReadGroup 將無法讀取新消息,如果我重新啟動應用程序,那么所有新消息都會立即消耗。 這個問題有什么解決辦法嗎?

你可以有一個比方說 10 秒的阻塞時間,它不會改變任何東西(我猜你提供的代碼是在一段while(true) )。

根據我的經驗,您可以讓應用程序閑置數天,它仍然可以工作。

我真的不知道為什么,但我想這與“恆定”來回“重置”連接有關。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM