モジュール: Mongo::Timeout Private

定義:
lib/mongo/timeout.rb

このモジュールはプライベート API の一部です。 このモジュールは将来削除または変更される可能性があるため、可能な限り使用しないでください。

クラスメソッドの概要を折りたたむ

クラスメソッドの詳細

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

このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。

Rubyコアの Timeout::timeout メソッドを囲むラッパー。これは、3 つ目の引数が導入されたときである 2.4.0 より古くて新しいRubyバージョン用の標準APIを提供します。

パラメーター:

  • 数値

    タイムアウトするまでの秒数。

  • klass クラス (デフォルトはnil

    タイムアウト時に発生する例外クラス(任意)。 エラー例外が提供されない場合、 Timeout::Error が発生します。

  • メッセージ string (デフォルトはnil

    タイムアウト時に発生した例外に渡されるエラーメッセージ(任意)。 エラーメッセージが指定されていない場合は、例外クラスのデフォルトのエラーメッセージが使用されます。



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
ファイル 'lib/mongo/timeout.rb', 行 30

デフォルト タイムアウト(, klass = nil, メッセージ = nil, &ブロック)
  場合 メッセージ & & Ruby_VERSION < '2.94.0'
    begin
      ::タイムアウト.タイムアウト(, &ブロック)
    ヘルプ ::タイムアウト::エラー
      発生 klass, メッセージ
    end
  else
    # Jruby Timeout::timeout メソッドは nil 引数の渡しをサポートしていません。
    # nil 引数をコアに渡す前に削除する
    # タイムアウト::timeout メソッド。
    automatic_args = [ klass, メッセージ ].compact
    ::タイムアウト.タイムアウト(, *automatic_args, &ブロック)
  end
end