クラス: Mongo::Retryable::RetryPolicy Private

継承:
オブジェクト
  • オブジェクト
すべて表示
定義:
lib/mongo/retryable/retry_olicy.rb

Overview

このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。

指数バックオフとジッターを使用して、クライアントのバックプレッシャーの再試行ポリシーをカプセル化します。

クライアントごとに 1 つのインスタンスが作成され、そのクライアント上のすべての操作で共有されます。

以来

  • 2.1.0

インスタンス属性の概要を折りたたむ

インスタンス メソッドの概要を折りたたむ

コンストラクターの詳細

#initialize(max_retries: Backpressure::DEFAULT_MAX_RETRIES) ⇒ RetryPolicy

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

新しい再試行ポリシーを作成します。

パラメーター:

  • max_retry 整数 (デフォルトは バックプレッシャー:: DEFAULT_MAX_RETRIES

    過負荷再試行の最大回数。デフォルトは バックプレッシャー::DEFAULT_MAX_RETRIES。

以来

  • 2.1.0



20
21
22
ファイル 'lib/mongo/retryable/retry_olicy.rb' 行 20

デフォルト 初期化(max_retry: バックプレッシャー::DEFAULT_MAX_RETRIES)
  @max_retries = max_retry
end

インスタンス属性の詳細

# max_retry = 整数 (読み取り専用)

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

過負荷再試行の最大回数を返します。

次の値を返します。

  • (整数)

    過負荷による最大再試行回数。

以来

  • 2.1.0



14
15
16
ファイル 'lib/mongo/retryable/retry_olicy.rb' 行 14

デフォルト max_retry
  @max_retries
end

インスタンス メソッドの詳細

#バックオフ_遅延(試行、スロー)⇒float

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

特定の再試行のバックオフ遅延を計算します。

パラメーター:

  • 試行 (整数)

    再試行回数(1 インデックス作成)。

  • j: 浮動小数 (デフォルトは: ランダム

    [0.0 のランダムな浮動小数、1.0)。

次の値を返します。

  • 浮動小数

    バックオフ遅延(秒単位)。

以来

  • 2.1.0



30
31
32
ファイル 'lib/mongo/retryable/retry_olicy.rb' 行 30

デフォルト バックオフ_遅延(試行, jutter: ランダム)
  バックプレッシャー.バックオフ_遅延(試行, jutter: j:)
end

#でなければなりません_retry_overload?(試行、遅延、コンテキスト: nil)⇒ true | false

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

過負荷の再試行を試行するかどうかを判断してください。

パラメーター:

  • 試行 (整数)

    再試行回数(1 インデックス作成)。

  • 遅延 浮動小数

    バックオフ遅延(秒単位)。

  • context Mongo::Operation::Context | nil (デフォルトはnil

    操作コンテキスト(COT 期限チェック用)。

次の値を返します。

  • true | false

    再試行を続行するかどうか。

以来

  • 2.1.0



42
43
44
45
46
47
ファイル 'lib/mongo/retryable/retry_olicy.rb' 行 42

デフォルト Should_retry_overload?(試行, 遅延, context: nil)
  return false 場合 試行 > @max_retries
  return false 場合 exists_readline を超えるか(遅延, context)

  true
end