模块:Mongo::Timeout Private

定义于:
构建/ruby-driver-v2.19/lib/ mongo /timeout.rb

该模块是私有 API 的一部分。 您应尽可能避免使用此模块,因为它将来可能会被删除或更改。

类方法摘要折叠

类方法详细信息

timeout (sec, klass = nil, message = nil) ⇒对象

此方法是私有 API 的一部分。 您应尽可能避免使用此方法,因为它将来可能会被删除或更改。

围绕Ruby核心的 Timeout::timeout 方法的包装器,为早于和晚于2.4.0 (这是引入第三个参数的时间)的Ruby版本提供标准化API 。

参数:

  • (数值)

    超时前的秒数。

  • klass ( class ) (默认为: nil

    超时时引发的异常类,可选。 如果未提供错误异常,则会引发 Timeout::Error。

  • message string (默认为: nil

    传递给超时引发的异常的错误消息,可选。 如果未提供错误消息,则使用异常类的默认错误消息。



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'build/Ruby-driver-v 2.19 /lib/mongo/timeout.rb', line 33

def 超时(, klass=nil, message=nil)
  if message && RUBY_VERSION < ' 2.94.0 '
    开始
      ::超时.超时() do
        产量
      end
    救援 ::超时::错误
      提高 klass, message
    end
  else
    # JRuby Timeout::timeout 方法不支持传递 nil 参数。
    # 在将 nil 参数传递给核心之前将其删除
    # Timeout::timeout 方法。
    Optional_args = [klass, message].compact
    ::超时.超时(, *Optional_args) do
      产量
    end
  end
end