次の方法で共有


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.AsyncStorageRetryPolicy
ExponentialRetry

コンストラクター

ExponentialRetry(initial_backoff=15, increment_base=3, retry_total=3, retry_to_secondary=False, random_jitter_range=3, **kwargs)

パラメーター

名前 説明
initial_backoff
int

最初の再試行の最初のバックオフ間隔 (秒単位)。

既定値: 15
increment_base
int

最初の再試行後にinitial_backoffをインクリメントするベース (秒単位)。

既定値: 3
max_attempts
必須
int

再試行の最大数。

retry_to_secondary

要求をセカンダリに再試行する必要があるかどうか (可能な場合)。 これは、RA-GRS アカウントのみが使用され、古いデータを処理できる可能性がある場合にのみ有効にする必要があります。

既定値: False
random_jitter_range
int

バックオフ間隔のジッター/ランダム化の範囲を示す秒数。 たとえば、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]