簡體   English   中英

Azure 服務總線將消息添加到隊列中過快

[英]Azure Service Bus adding message to the queue too quickly

我遇到了一個問題,我正在觸發一個由 Azure Function 服務總線觸發器處理的事件。

運行的觸發器可以在任何地方運行長達一個小時,這很好,但我發現 5 分鍾后消息被重新添加到隊列中,因此它被重復處理。

我可以通過更改 MaxDeliveryCount 確保此特定主題僅讀取一次消息來解決此問題,但理想情況下,我希望鎖的到期時間比 function(最多 1 小時)更長。

根據 Microsoft 文檔,它應該已經這樣做了,但是當它重新排隊消息時我仍然遇到問題。

Functions 運行時在 PeekLock 模式下接收消息。 如果 function 成功完成,它會在消息上調用 Complete,如果 function 失敗,它會調用 Abandon。 如果 function 運行時間超過 PeekLock 超時時間,則只要 function 正在運行,鎖就會自動更新。

有任何想法嗎?

Azure 服務總線一次最多只能鎖定一條消息 5 分鍾。 但它也可以更新鎖,從技術上講,只要沒有發出鎖定請求的失敗,它就可以允許消息被鎖定只要需要。 除此之外,函數的執行時間也有限制。 例如,在消耗計划中,function 的運行時間不會超過最長 10 分鍾。 對於任何超過此時間的處理,應尋找替代方案,包括但不限於以下內容:

暫無
暫無

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

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