クラス: Mongo::Session::SessionPool Private
- 継承:
-
オブジェクト
- オブジェクト
- Mongo::Session::SessionPool
- 定義:
- lib/mongo/session/session_Pool.rb
Overview
このクラスは、プライベート API の一部です。 このクラスは将来削除または変更される可能性があるため、可能な限り使用しないでください。
サーバー セッションのプール。
インスタンス メソッドの概要を折りたたむ
-
チェックイン(セッション) = オブジェクト
private
プールにサーバー セッションをチェックインします。
-
#checkout ⇒ ServerSession
private
プールからサーバー セッションをチェックアウトします。
-
# end_sessions =オブジェクト
private
endSessions コマンドをサーバーに送信して、プール内のすべてのセッションを終了します。
-
#initialize(cluster) ⇒ SessionPool
コンストラクター
private
セッション プールを初期化します。
-
詳しくは、 を 検査し ますstring
private
検査で使用するための書式設定された string を取得します。
コンストラクターの詳細
#initialize(cluster) ⇒ SessionPool
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
セッション プールを初期化します。
37 38 39 40 41 |
# ファイル 'lib/mongo/session/session_Pool.rb', 行 37 デフォルト 初期化(クラスター) @queue = [] @mutex = ミューテックス.新着情報 @cluster = クラスター end |
インスタンス メソッドの詳細
チェックイン(セッション) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
プールにサーバー セッションをチェックインします。
86 87 88 89 90 91 92 93 94 95 |
# ファイル 'lib/mongo/session/session_Pool.rb', 行 86 デフォルト checkin(セッション) 場合 セッション.nil? 発生 ArgumentError, のセッションは nil にはできません。 end @mutex.同期 行う prune! @queue.unshift(セッション) 場合 return_to_queue?(セッション) end end |
#checkout ⇒ ServerSession
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
プールからサーバー セッションをチェックアウトします。
63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
# ファイル 'lib/mongo/session/session_Pool.rb', 行 63 デフォルト チェックアウト @mutex.同期 行う ループ 行う 場合 @queue.空の場合 return ServerSession.新着情報 else セッション = @queue.シフト ただし、 near_to_expire?(セッション) return セッション end end end end end |
# end_sessions =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
endSessions コマンドをサーバーに送信して、プール内のすべてのセッションを終了します。
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 |
# ファイル 'lib/mongo/session/session_Pool.rb', 行 103 デフォルト end_sessions 一方 !@queue.空の場合 サーバー = ServerSelector.得る(モード: :primary_preferred).[select_server](@cluster) op = 操作::コマンド.新着情報( セレクター: { endSessions: @queue.シフト(10_000).map(&:session_id), }, db_name: Database::管理者, ) context = 操作::Context.新着情報(次のオプションがあります。 { server_api: サーバー.[:server_api], }) op.実行する(サーバー, context: context) end ヘルプ mongo::エラー, エラー::AuthError end |
詳しくは、 を 検査しstring ます
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
検査で使用するための書式設定された string を取得します。
51 52 53 |
# ファイル 'lib/mongo/session/session_Pool.rb', 行 51 デフォルト 検査する " #< Mongo::Session::SessionPool: 0 x #{ object_id } current_size= #{ @queue . size } > " end |