Módulo: Mongo::Timeout Private

Definido em:
lib/mongo/timeout.rb

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.

Recolhimento do Resumo do método de classe

Detalhes do método de classe

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

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.

Um wrapper em torno do método Timeout::timeout do Ruby core que fornece uma API padronizada para chamá-lo.

Parâmetros:

  • seg (Numérico)

    O número de segundos antes do tempo limite.

  • classe (Classe) (padrão para: nil)

    A classe de exceção a ser criada em caso de tempo limite, opcional. Quando nenhuma exceção de erro é fornecida, Timeout::Error é gerado.

  • mensagem (string) (padrão para: nil)

    A mensagem de erro passada para a exceção gerada no tempo limite, opcional. Quando nenhuma mensagem de erro é fornecida, a mensagem de erro padrão para a classe de exceção é usada.



29
30
31
32
33
34
35
36
37
38
39
# Arquivo 'lib/mongo/timeout.rb', linha 29

def timeout(seg, classe = nada, mensagem = nada, &noum: bloco ; verb: bloquear)
  # forneça uma classe de erro padrão se a mensagem estiver presente; caso contrário,
  # a mensagem será interpretada como a classe de erro, se a classe for nula
  classe ||= ::Tempo-limite::Erro se mensagem

  # O método JRuby Timeout::timeout não suporta a passagem de argumentos nulos.
  # Remova os argumentos nulos antes de passá-los para o núcleo
  # Timeout::timeout method.
  opcional_args = [ classe, mensagem ].compactar
  ::Tempo-limite.timeout(seg, *opcional_args, &noum: bloco ; verb: bloquear)
end