簡體   English   中英

鎖定時間到期后如何續訂? 使用Azure Service Bus會話隊列

[英]How to renew the lock after the lock duration has expired? Using Azure Service Bus Session Queue

當前,我通過將30秒配置為鎖定持續時間來使用Azure Service Bus會話隊列。

例如,我有一個會話有3條消息

  1. 在處理第一條消息要花費更多時間的同時,此后我要調用CompleteAsync()從隊列中刪除該消息。 但是每當我執行CompleteAsync()時,我都會得到SessionLockLostException。

     await session.CompleteAsync(message.SystemProperties.LockToken); 

我想在鎖過期時續訂鎖。

我遵循了本文檔,但是沒有獲得有關續訂鎖定令牌的任何示例。

我想在鎖過期時續訂鎖。

不可能。 鎖令牌過期后,經紀人將認為它已解鎖並服務於其他消費者。 相反,您應該查看配置和設計方法。 如果您收到的消息可能需要更長的處理時間,請不要使用30秒鍾的MaxLockDuration來加快處理時間。 如果5分鍾還不夠,請查看在鎖定時間到期之前手動延長鎖定時間,或者如果使用內置消息泵,則配置自動更新鎖定的最長時間。

暫無
暫無

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

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