ExponentialRetry クラス
指数関数的再試行。
指数再試行オブジェクトを構築します。 initial_backoffは、最初の再試行に使用されます。 後続の再試行は、initial_backoff + increment_power^retry_count 秒後に再試行されます。 たとえば、既定では、最初の再試行は 15 秒後、2 回目の再試行は (15+3^1) = 18 秒、3 回目の再試行は (15 + 3^2) = 24 秒後に行われます。
- 継承
-
azure.storage.blob._shared.policies_async.AsyncStorageRetryPolicyExponentialRetry
コンストラクター
ExponentialRetry(initial_backoff=15, increment_base=3, retry_total=3, retry_to_secondary=False, random_jitter_range=3, **kwargs)
パラメーター
名前 | 説明 |
---|---|
initial_backoff
|
最初の再試行の最初のバックオフ間隔 (秒単位)。 既定値: 15
|
increment_base
|
最初の再試行後にinitial_backoffをインクリメントするベース (秒単位)。 既定値: 3
|
max_attempts
必須
|
再試行の最大数。 |
retry_to_secondary
|
要求をセカンダリに再試行する必要があるかどうか (可能な場合)。 これは、RA-GRS アカウントのみが使用され、古いデータを処理できる可能性がある場合にのみ有効にする必要があります。 既定値: False
|
random_jitter_range
|
バックオフ間隔のジッター/ランダム化の範囲を示す秒数。 たとえば、random_jitter_rangeが 3 の場合、バックオフ間隔 x は x+ 3 と x-3 の間で変化します。 既定値: 3
|
retry_total
|
既定値: 3
|
メソッド
configure_retries | |
get_backoff_time |
再試行するまでのスリープ時間を計算します。 |
increment |
再試行カウンターをインクリメントします。 |
send | |
sleep |
configure_retries
configure_retries(request)
パラメーター
名前 | 説明 |
---|---|
request
必須
|
|
get_backoff_time
再試行するまでのスリープ時間を計算します。
get_backoff_time(settings)
パラメーター
名前 | 説明 |
---|---|
settings
必須
|
バックオフ時間に関連する構成可能な値。 |
戻り値
型 | 説明 |
---|---|
int,
|
要求を再試行するまでの待機時間を示す整数、または再試行を実行する必要がないことを示す None。 |
increment
再試行カウンターをインクリメントします。
increment(settings, request, response=None, error=None)
パラメーター
名前 | 説明 |
---|---|
settings
必須
|
インクリメント操作に関連する構成可能な値。 |
request
必須
|
<xref:<xref:"PipelineRequest">>
パイプライン要求オブジェクト。 |
"PipelineResponse"
必須
|
パイプライン応答オブジェクト。 |
error
|
要求中にエラーが発生しました。応答が正常に受信された場合は None です。 既定値: None
|
response
|
既定値: None
|
戻り値
型 | 説明 |
---|---|
再試行が使い果たされているかどうか。 |
send
async send(request)
パラメーター
名前 | 説明 |
---|---|
request
必須
|
|
sleep
async sleep(settings, transport)
パラメーター
名前 | 説明 |
---|---|
settings
必須
|
|
transport
必須
|
|
属性
next
次のポリシーまたはトランスポート (ポリシーとしてラップ) へのポインター。 パイプラインの作成時に設定されます。
next: HTTPPolicy[HTTPRequestType, HTTPResponseType]
Azure SDK for Python