Módulo: Mongo::Retryable

Ampliado por:
Reenviable
Incluido en:
Cluster::CursorReaper, Colección, Colección::Vista::Agregación::Comportamiento, Colección::Vista::Flujo de cambios, Colección::Vista::MapReduce, Cursor,Base de datos, Base de datos::Vista, Índice::Vista, Índice debúsqueda::Vista, Servidor::Conexión, Sesión
Definido en:
lib/mongo/retryable.rb,
lib/mongo/retryable/base_worker.rb,
lib/mongo/retryable/read_worker.rb,
lib/mongo/retryable/write_worker.rb

Overview

Define el comportamiento básico en torno a la reintento de operaciones.

Desde:

  • 2.1.0

Definido bajo Namespace

Clases: BaseWorker, ReadWorker, WriteWorker

Resumen del método de instancia colapsar

Detalles del método de instancia

#read_workerobjeto

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Nota:

este es solo un método público para que las pruebas puedan agregar expectativas basadas en él.

Devuelve el trabajador de lectura para manejar lecturas reiterables.

Desde:

  • 2.1.0



65
66
67
# Archivo 'lib/mongo/retryable.rb', línea 65

def read_worker
  @read_worker ||= Trabajador de lectura.Nuevo(sí mismo)
end

#select_servidor(clúster, server_selector, session, failed_servidor = nil, timeout: nil) ⇒ Mongo::Servidor

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Este es un método separado que permite que el conjunto de pruebas afirme que la selección del servidor se realiza durante los intentos de reintento.

Este es un método público para que pueda ser accedido vía los delegados de trabajadores de lectura y guardado, según se necesite.

Devuelve:

  • (Mongo::servidor)  —

    Un servidor que coincida con la preferencia del servidor.

Desde:

  • 2.1.0



49
50
51
52
53
54
55
56
57
# Archivo 'lib/mongo/retryable.rb', línea 49

def seleccionar_servidor(clúster, selector_de_servidor, sesión, failed_server = nulo, timeout: nulo)
  selector_de_servidor.seleccionar_servidor(
    clúster,
    nulo,
    sesión,
    con menor prioridad: [failed_server].compact,
    timeout: tiempo de espera
  )
end

#write_workerObjeto

Este método forma parte de una API privada. Debe evitarlo si es posible, ya que podría eliminarse o modificarse en el futuro.

Nota:

este es solo un método público para que las pruebas puedan agregar expectativas basadas en él.

Devuelve el trabajador de escritura para gestionar escrituras reintentables.

Desde:

  • 2.1.0



75
76
77
# Archivo 'lib/mongo/retryable.rb', línea 75

def write_worker
  @write_worker ||= Trabajador de escritura.Nuevo(sí mismo)
end