你当前正在访问 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.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,
|
一个整数,指示在重试请求之前需要等待的时间,或“无”表示不应执行重试。 |
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]