你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

ExponentialRetry 类

指数重试。

构造指数重试对象。 initial_backoff用于第一次重试。 后续重试在 initial_backoff + increment_power^retry_count 秒后重试。 例如,默认情况下,第一次重试发生在 15 秒后,第二次重试发生在 (15+3^1) = 18 秒之后,第三次重试发生在 (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,

一个整数,指示在重试请求之前需要等待的时间,或“无”表示不应执行重试。

increment

递增重试计数器。

increment(settings, request, response=None, error=None)

参数

名称 说明
settings
必需

与递增操作相关的可配置值。

request
必需
<xref:<xref:"PipelineRequest">>

管道请求对象。

"PipelineResponse"
必需

管道响应对象。

error

请求期间遇到错误;如果成功收到响应,则为“无”。

默认值: None
response
默认值: None

返回

类型 说明

重试尝试是否已用尽。

send

async send(request)

参数

名称 说明
request
必需

sleep

async sleep(settings, transport)

参数

名称 说明
settings
必需
transport
必需

属性

next

指向下一个策略或传输 (包装为策略) 的指针。 将在创建管道时设置。

next: HTTPPolicy[HTTPRequestType, HTTPResponseType]