簡體   English   中英

如何在Azure Service Bus客戶端的RetryPolicy對象中使用TimeBuffer屬性?

[英]How is TimeBuffer property used in RetryPolicy object in Azure Service Bus client?

我已經閱讀了文檔,並且關於RetryPolicy對象如何在Azure Service Bus Queue Client中使用的所有細節對我來說都是清楚的,除了以下一項:TimeBuffer屬性。 文檔中的定義說:

“與重試關聯的終止時間緩沖區。如果剩余時間少於TimeBuffer,則將放棄重試嘗試。”

但是,“剩余時間”是多少? 有人可以舉例說明如何使用它嗎?

這是我的情況:如果請求失敗並且錯誤是暫時的,則將重復操作直到成功或達到MaxRetryCount。 同時,兩次嘗試之間的時間間隔將取決於MinimalBackoff和DeltaBackoff,直到達到MaximumBackoff。 從那時起,嘗試之間的間隔將是恆定的,並且等於MaximumBackoff。 在這種情況下如何使用TimeBuffer?

我忘記了另一件事,所以我編輯了問題。 當僅允許設置那些值的構造函數過時且DeltaBackoff屬性沒有設置器且為只讀時,如何設置DeltaBackoff和TimeBuffer?

TerminationTimeBuffer是一個屬性,用於限制操作完成的總時間。

與重試關聯的終止時間緩沖區。 如果剩余時間少於TimeBuffer,則重試嘗試將被放棄。

考慮具有以下配置的方案

MinimumBackoff = 0  
MaximumBackoff = 30 sec  
DeltaBackoff = 300 msec  
TimeBuffer = 300 msec   
MaxRetryCount = 2

它作為

Attempt 1: Delay 0 sec   
Attempt 2: Delay ~300 msec  
Attempt 3: Delay ~900 msec

此處,第二次嘗試后的“剩余時間”將為第三次嘗試后的29.7秒和29.1秒。

暫無
暫無

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

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