Módulo: Mongo::Timeout Privado

Definido en:
lib/mongo/timeout.rb

Este módulo es parte de una API privada. Deberías evitar usar este módulo si es posible, ya que puede ser removido o cambiado en el futuro.

Resumen del método de clase colapsar

Detalles del método de clase

.timeout(sec, klass = nil, message = nil, &block) ⇒ Object

Este método es parte de una API privada. Se debe evitar el uso de este método si es posible, ya que podría eliminarse o modificarse en el futuro.

Un contenedor 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) (valor por defecto: nil)

    La clase de excepción que se debe elevar en caso de tiempo de espera, opcional. Cuando no se proporciona excepción de error, se genera Timeout::Error.

  • mensaje (string) (valor por defecto: nil)

    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.



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Archivo\_ 'lib/mongo/timeout.rb', línea 30

def tiempo de espera(seg, klass = nulo, mensaje = nulo, &bloque)
  si mensaje && RUBY_VERSION < '2.94.0'
    begin
      ::Tiempo de espera.tiempo de espera(seg, &bloque)
    rescate ::Tiempo de espera::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
    ::Tiempo de espera.tiempo de espera(seg, *args_opcionales, &bloque)
  end
end