模块:Mongo::Retryable::Back压私有

定义于:
lib/ Mongo/retryable/back压.rb

Overview

该模块是私有 API 的一部分。 您应尽可能避免使用此模块,因为它将来可能会被删除或更改。

客户端反压(重试循环中的指数退避和抖动)的常量和助手。

由于:

  • 2.1.0

常量摘要折叠

BASE_BACKOFF =

此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。

基本退避延迟(以秒为单位)。

由于:

  • 2.1.0

0.1
MAX_BACKOFF =

此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。

最大退避延迟(以秒为单位)。

由于:

  • 2.1.0

10
DEFAULT_MAX_RETRIES =

此常量是私有 API 的一部分。 应尽可能避免使用此常量,因为它将来可能会被删除或更改。

过载错误的默认最大重试次数。

由于:

  • 2.1.0

2

类方法摘要折叠

类方法详细信息

backoff_delay(attempt, jitter:rand) ⇒ Float

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

计算给定重试尝试的退避延迟。

参数:

  • 尝试 ( Integer )

    重试次数(以 1 为索引)。

  • 抖动 浮点 (默认为:rand

    一个随机浮点数,位于 [0.0、1.0)。默认为随机值。可以注入用于确定性测试。

返回:

  • (浮点)

    退避延迟(以秒为单位)。

由于:

  • 2.1.0



26
27
28
# 文件 'lib/mongo/retryable/back压.rb', line 26

def self.backoff_delay(尝试, 抖动: 兰特)
  抖动 * [ MAX_BACKOFF, BASE_BACKOFF * (2**(尝试 - 1)) ].min
end