Módulo: Mongo::Timeout Private

Definido en:
lib/mongo/timeout.rb

Este módulo forma parte de una API privada. Debe evitar su uso siempre que sea posible, ya que podría eliminarse o modificarse en el futuro.

Colapso delresumen del método de clase

Detalles del método de clase

.tiempo de espera(seg, clase = nulo, mensaje = nulo) ⇒ Objeto

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

Un envoltorio alrededor del método Timeout::timeout del núcleo de Ruby que proporciona una API estandarizada para versiones de Ruby anteriores y posteriores a 2.4.0, que es cuando se introdujo el tercer argumento.

Parámetros:

  • segundo (Numérico)

    El número de segundos antes del tiempo de espera.

  • klass (Clase) (predeterminado: nulo)

    La clase de excepción que se genera al expirar el tiempo de espera (opcional). Si no se proporciona ninguna excepción de error, se genera Timeout::Error.

  • Mensaje (Cadena) (predeterminado: nulo)

    El mensaje de error enviado a la excepción generada al expirar el tiempo de espera (opcional). Si no se proporciona ningún mensaje de error, se utiliza el mensaje de error predeterminado para la clase de excepción.



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# Archivo 'lib/mongo/timeout.rb', línea 33

def tiempo de espera(segundo, klass=nulo, Mensaje=nulo)
  Si Mensaje && RUBY_VERSION < '2.94.0'
    begin
      ::Se acabó el tiempo.tiempo de espera(segundo) hacer
        rendimiento
      end
    rescate ::Se acabó el tiempo::Error
      propagar klass, Mensaje
    end
  else
    # El método Jruby Timeout::timeout no admite el paso de argumentos nulos.
    # Elimine los argumentos nulos antes de pasarlos al núcleo
    # Método Timeout::timeout.
    argumentos opcionales = [klass, Mensaje].compact
    ::Se acabó el tiempo.tiempo de espera(segundo, *argumentos opcionales) hacer
      rendimiento
    end
  end
end