1
在Azure服務總線主題我訂閱的郵件超過1000條。這些消息由工作者角色使用。 爲了監控目的,我想先查看10條消息,看看有哪些類型的消息正在等待處理。爲了完成這個任務,我創建了一個訂閱客戶端,並且我調用方法PeekBatchAsync。奇怪的行爲是,有時PeekBatchAsync返回少於10條消息(即2條或4條消息)。Azure服務總線 - PeekBatchAsync返回的郵件數少於預期
代碼示例:
Dim subscriptionClient As SubscriptionClient = messagingFactory.CreateSubscriptionClient(topicName, subscriptionName)
Dim messages = Await subscriptionClient.PeekBatchAsync(10)
更多信息予以澄清背景:
- 我相信,認購包含1000級以上的消息
- 主題與EnablePartitioning =真 創建
- 我使用圖書館Microsoft.ServiceBus訴2.3.4.0
- 我使用會話
- 大部分時間我得到正確的消息數(10),有時我得到的消息較少。我不知道有什麼確切的條件來複制問題
我的問題是:爲什麼有時該方法返回比預期更少的消息?
不幸的是,PeekBatch/PeekBatchAsync沒有時間跨度參數的重載,所以我不能嘗試。也許PeekBatch/PeekBatchAsync的文檔應該更新,因爲即使訂閱包含更多元素,元素的數量也不能保證。 – Daniele
@Daniele:即使我使用'TimeSpan'獲得了更好的結果,但我仍然收到的消息少於指定的時間。此外,默認情況下不保證消息的順序! – participant