类:Mongo::Retryable::RetryPolicy Private
- 继承:
-
对象
- 对象
- Mongo::Retryable::RetryPolicy
- 定义于:
- lib/ Mongo/retryable/retry_policy.rb
Overview
此类是私有 API 的一部分。 应尽可能避免使用此类,因为它将来可能会被删除或更改。
使用指数退避和抖动封装客户端反压的重试策略。
为每个客户端创建一个实例,并在该客户端上的所有操作之间共享。
实例属性摘要折叠
-
#max_retries ⇒ Integer
只读
private
最大过载重试次数。
实例方法摘要折叠
-
#backoff_delay(attempt, jitter: rand) ⇒ Float
private
计算给定重试尝试的退避延迟。
-
#initialize(max_retries: Backpressure::DEFAULT_MAX_RETRIES) ⇒ RetryPolicy
构造函数
private
创建新的重试策略。
-
# should_retry_overload?(尝试、延迟、上下文:nil) ⇒ true | false
private
确定是否应尝试过载重试。
构造函数详情
#initialize(max_retries: Backpressure::DEFAULT_MAX_RETRIES) ⇒ RetryPolicy
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
创建新的重试策略。
20 21 22 |
# File 'lib/ Mongo/retryable/retry_policy.rb', line 20 def 初始化(max_retries: 背压::DEFAULT_MAX_RETRIES) @max_retries = max_retries end |
实例属性详细信息
# max_retries ⇒ 整数 (只读)
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
返回 重载重试的最大次数。
14 15 16 |
# File 'lib/ Mongo/retryable/retry_policy.rb', line 14 def max_retries @max_retries end |
实例方法详细信息
#backoff_delay(attempt, jitter:rand) ⇒ Float
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
计算给定重试尝试的退避延迟。
30 31 32 |
# File 'lib/ Mongo/retryable/retry_policy.rb', line 30 def backoff_delay(尝试, 抖动: 兰特) 背压.backoff_delay(尝试, 抖动: 抖动) end |
# should_retry_overload?(尝试、延迟、上下文:nil) ⇒ true | false
此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。
确定是否应尝试过载重试。
42 43 44 45 46 47 |
# File 'lib/ Mongo/retryable/retry_policy.rb', line 42 def should_retry_overload?(尝试, 延迟, 上下文: nil) return false if 尝试 > @max_retries return false if exists_deadline?(延迟, 上下文) true end |