Módulo: Mongo::Retryable::Backpressure Private

Definido em:
lib/mongo/retryable/backpressure.rb

Visão geral

Este módulo faz parte de uma API privada. Você deve evitar usar este módulo, se possível, pois ele pode ser removido ou alterado no futuro.

Constantes e auxiliares para a backpressure do cliente (backoff exponencial e jitter em loops de repetição).

Desde:

  • 2.1.0

Colapsode resumo constante

BASE_BACKOFF =

Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.

Atraso de backoff de base em segundos.

Desde:

  • 2.1.0

0.1
MAX_BACKOFF =

Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.

Atraso máximo de backoff em segundos.

Desde:

  • 2.1.0

10
DEFAULT_MAX_RETRIES =

Essa constante faz parte de uma API privada. Você deve evitar usar essa constante, se possível, pois ela pode ser removida ou alterada no futuro.

Número máximo padrão de tentativas para erros de sobrecarga.

Desde:

  • 2.1.0

2

Recolhimento do Resumo do método de classe

Detalhes do método de classe

.backoff_delay(attempt, jitter: random) ➤ Flutuante

Este método faz parte de uma API privada. Evite usar esse método, se possível, pois ele pode ser removido ou alterado no futuro.

Calcule o atraso de backoff para uma determinada tentativa de repetição.

Parâmetros:

  • tentativa (Inteiro)

    O número da tentativa de repetição (1indexado).

  • jitter (Flutuante) (padrão para: random)

    Uma flutuação aleatória em [0.0, 1.0). O padrão é um valor aleatório. Pode ser injetado para testes determinísticos.

Retorna:

  • (Flutuante)

    O atraso de backoff em segundos.

Desde:

  • 2.1.0



26
27
28
# Arquivo 'lib/mongo/retryable/backpressure.rb', linha 26

def auto.backoff_delay(tentativa, jitter: random)
  jitter * [ MAX_BACKOFF, Base_backoff * (2**(tentativa - 1)) ].min
end