Módulo: Mongo::Timeout Privado

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.

Resumen del método de clase colapsar

Detalles del método de clase

.timeout(seg, klass = nil, message = nil) ⇒ Object

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:

  • seg (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 transmitido a la excepción generada por el tiempo de espera, es opcional. Cuando no se proporciona un mensaje de error, se utiliza el mensaje de error por defecto 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(seg, klass=nulo, mensaje=nulo)
  si mensaje && RUBY_VERSION < '2.94.0'
    begin
      ::Se acabó el tiempo.tiempo de espera(seg) 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.
    # Remueve los argumentos nulos antes de pasarlos al núcleo
    # Método Timeout::timeout.
    args_opcionales = [klass, mensaje].compact
    ::Se acabó el tiempo.tiempo de espera(seg, *args_opcionales) hacer
      rendimiento
    end
  end
end