クラス: Mongo::Server
- 継承:
-
オブジェクト
- オブジェクト
- Mongo::Server
- 次による拡張機能。
- 転送可能
- 次のことが含まれます。
- イベント::Publisher 、 MongoDB ::公開可能
- 定義:
- lib/mongo/サーバー.rb
、lib/mongo/サーバー/monitor.rb、lib/mongo/サーバー/
connection.rb、lib/mongo/サーバー/description.rb、lib/mongo/サーバー/app_metadata.rb、lib/
mongo/サーバー/push_monitor.rb、lib/mongo/サーバー/ connection_base.rb、lib/mongo/サーバー/ connection_Pool.rb、lib/mongo/サーバー/ connection_
Common.rb、lib/mongo/サーバー/monitor/ connection.rb、
lib/mongo/サーバー/pending_ connection.rb、lib/mongo/サーバー/description/features.rb、lib/mongo/サーバー/monitor/app_metadata.rb、lib/mongo/サーバー/app_metadata/プラットフォーム.rb、lib/mongo/
サーバー/app_metadata/truncator.rb、lib/mongo/サーバー/push_monitor/
connection.rb、lib/mongo/サーバー/app_metadata/environment.rb、lib/mongo/サーバー/
connection_Pool/populator.rb、lib/mongo/サーバー/ explain/load_ balancer.rb,
lib/mongo/サーバー/ round_drop_time_calcなく
Overview
スタンドアロン、レプリカセットの一部、または mongos にすることができるサーバー側の単一のサーバーを表します。
名前空間で定義済み
クラス: AppMetadata 、 Connection 、 ConnectionBase 、 ConnectionCommon 、 ConnectionPool 、 Description 、 trigger 、 PendingConnection 、pusMonitor 、RoundTryTimeCollectioner
定数の概要の削減
- CONNECT_TIMEOUT =
接続試行のタイムアウトのデフォルト時間(秒単位)。
10.freeze
Loggableに含まれる定数
インスタンス属性の概要を折りたたむ
-
アドレス~ string
readOnly
サーバーの構成されたアドレス。
-
#cluster ⇒ Cluster
readOnly
クラスター サーバー クラスター。
-
# Description ~ Server:: Description
readOnly
説明 モニターが更新するサーバーの説明。
-
#monitor ⇒ nil | Monitor
readOnly
サーバー モニターを監視します。
-
#monitoring ⇒ Monitoring
readOnly
監視 監視。
-
#options ⇒ Hash
readOnly
オプションは ハッシュです。
-
#round_drop_time_calculator =roundTの間
readOnly
private
ラウンド トリップ時間計算オブジェクト。
-
# scan_smahour :セマフォア
readOnly
private
サーバーが実行中の場合は、モニターによるこのサーバーの即座のスキャンを要求するようにシグナルが送信されます。
Event::Publisherに含まれる属性
インスタンス メソッドの概要を折りたたむ
-
== (その他) ===(その他) ======================================
このサーバーは別のサーバーと等しいか?
- #クリア_接続_プール (service_id: nil、割り込み_in_use_ connections : false) = オブジェクト private
-
# clear_description =オブジェクト
private
サーバーの説明をクリアして、不明と見なし、安全に切断できるようにします。
- # close = オブジェクト
- #compressor ⇒ String | nil 非推奨 非推奨。
-
#接続可能かどうか = true、false
非推奨
非推奨。
サーバー選択の仕様が不要になりました。
-
#接続済みかどうか= true|false
private
サーバーが接続されているかどうか。
-
#切断します。 = true
このサーバーからドライバーを切断します。
-
force_load_ balancer は? = true | false
private
このサーバーが強制的にロード バランサーであるかどうかを返します。
-
#hand_auth_failure。 = オブジェクト
認証失敗の処理。
-
#handstake_failure。 = オブジェクト
private
ハンドシェイクの失敗を処理します。
- # heartbeat_frequency = オブジェクト(# heartbeat_frequency_seconds) 非推奨 非推奨。
-
#初期化(アドレス、クラスター、モニタリング、イベント_リスナー、オプション = {}) = サーバー
コンストラクター
private
新しいサーバー オブジェクトをインスタンス化します。
-
詳しくは、 を 検査し ますstring
サーバー検査の結果がかなり出力されるようになりました。
-
# last_scan =時間 | nil
Last_scan サーバーが最後にスキャンされた時刻、またはサーバーがまだスキャンされていない場合は nil です。
-
# last_scan_mongotime =浮動小数点数 | nil
private
Last_scan_mongostat は最後にサーバースキャンが完了した単調な時間で、サーバーがまだスキャンされていない場合は nil です。
-
#matches_tag_set?(tag_set) ⇒ true, false
提供された タグ がサーバーの タグのサブセット であるかどうかを判断します。
- #next_ connection_id =オブジェクト private
-
プール→ Mongo::Server::ConnectionPool
このサーバーの接続プールを取得します。
-
プール_内部 = Server::ConnectionPool | nil
private
このサーバーの接続プールを取得するための内部ドライバー メソッド。
-
# public_opening_event = Object
private
サーバーを開くイベントを公開します。
-
#再接続します。 = true
サーバー モニターを再起動します。
-
再試行_読み取りの回数 = ブール値
private
サーバーが最新の読み取り再試行をサポートしているかどうか。
-
retry_writes? = true、false
このサーバーに送信された書き込みを再試行します。
-
# start_monitoring =オブジェクト
private
サーバーの監視を開始します。
-
#status ⇒ String
private
サーバーの状態を表す string(例: プライマリ)。
- #のサマリー= オブジェクト
-
#不明です。 (オプション = {}) = オブジェクト
サーバーを不明としてマークし、関連する SDAM イベント(サーバーの説明が変更された)を公開します。
- # update_description (description) = オブジェクト private
- #update_last_scan ⇒ Object private
-
# with_ connection ( connection_ global_id: nil, context: nil, &lock) = オブジェクト
接続を使用してコード ブロックを実行します。このブロックはサーバーのプールからチェックアウトされ、その後チェックインされます。
Event::Publisherに含まれるメソッド
から含まれるメソッド::public
#publish_cmap_event 、 #publish_event 、 #publish_sam_event
Loggableに含まれるメソッド
#log_debug, #log_error, #log_fatal, #log_info, #log_warn, #logger
コンストラクターの詳細
#初期化(アドレス、クラスター、モニタリング、イベント_リスナー、オプション = {}) =サーバー
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
サーバーは、クラスターの外部で直接インスタンス化されることは ありません 。
新しいサーバー オブジェクトをインスタンス化します。 バックグラウンド更新を開始し、適切なイベントにサブスクライブします。
71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 |
# ファイル 'lib/mongo/ サーバー.rb', 行 71 デフォルト 初期化(address, クラスター, モニタリング, event_listenners, = {}) @address = address @cluster = クラスター @monitoring = モニタリング = .dup _monitor = .削除(:mongos) @options = .freeze @event_listenners = event_listenners @ connection_id_gen = クラス.新着情報 行う 次を含みます: id end @scan_smahour = DistinguishedSemahour.新着情報 @round_drop_time_calculator = Double.新着情報 @description = 説明.新着情報(address, {}, load_Balancer: !!@options[:load_ balancer], force_load_Balancer: force_load_Balancer?, ) @last_scan = nil @last_scan_mongotime = nil ただし、 [:monitoring_io] == false @monitor = モニター.新着情報(自己, event_listenners, モニタリング, .merge( app_metadata: クラスター., push_monitor_app_metadata: クラスター., heartbeat_Interval: クラスター.heartbeat_Interval, )) ただし、 _monitor == false start_monitoring end end @connected = true @Pool_lock = ミューテックス.新着情報 end |
インスタンス属性の詳細
# address = string (読み取り専用)
サーバーの構成されたアドレスを返します。
106 107 108 |
# ファイル 'lib/mongo/ サーバー.rb', 行 106 デフォルト address @address end |
クラスター数(読み取り専用)
クラスター サーバー クラスターを返します。
109 110 111 |
# ファイル 'lib/mongo/ サーバー.rb', 行 109 デフォルト クラスター @cluster end |
# Description = Server:: Description (readonly)
Returns Description モニターが更新するサーバーの説明を返します。
123 124 125 |
# ファイル 'lib/mongo/ サーバー.rb', 行 123 デフォルト 説明 @description end |
#モニター= nil |モニター(読み取り専用)
サーバー モニターを返します。 サーバーが MongoDB_io: false オプションで作成されている場合は nil 。
113 114 115 |
# ファイル 'lib/mongo/ サーバー.rb', 行 113 デフォルト モニター @monitor end |
#monitoring ⇒ Monitoring (readonly)
監視 監視を返します。
119 120 121 |
# ファイル 'lib/mongo/ サーバー.rb', 行 119 デフォルト モニタリング @monitoring end |
オプション=ハッシュ(読み取り専用)
オプション ハッシュを返します。
116 117 118 |
# ファイル 'lib/mongo/ サーバー.rb', 行 116 デフォルト @options end |
#round_ ユーザーの選択
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
ラウンド トリップ時間計算子オブジェクトを返します。
234 235 236 |
# ファイル 'lib/mongo/ サーバー.rb', 行 234 デフォルト round_drop_time_calculator @round_drop_time_calculator end |
# scan_smahour (読み取り専用) →セマフォア(readonly)
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
サーバーが実行中の場合は、モニターによるこのサーバーの即座のスキャンを要求するようシグナルにセカンダリを返します。
230 231 232 |
# ファイル 'lib/mongo/ サーバー.rb', 行 230 デフォルト scan_smahour @scan_smahour end |
インスタンス メソッドの詳細
# == (その他) === (その他) ==================================================================================
このサーバーは別のサーバーと等しいか?
246 247 248 249 |
# ファイル 'lib/mongo/ サーバー.rb', 行 246 デフォルト ==(その他) return false ただし、 その他.is_a?(サーバー) address == その他.address end |
#クリア_接続_プール (service_id: nil、割り込み_in_use_ connections : false) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
672 673 674 675 676 677 678 679 680 681 682 |
# ファイル 'lib/mongo/ サーバー.rb', 行 672 デフォルト クリア_接続_プール(service_id: nil, insert_in_use_ connections: false) @Pool_lock.同期 行う # 閉じた後に不明としてマークされているサーバーは、技術的に # は誤りですが、状態は意味的に変更されません。 # ドライバーは歴史的にサーバーをマークすることを許可していた いつでも不明な場合は、プールが閉じられた場合でも同じ操作を続行します。 場合 @Pool & & !@Pool.閉じましたか @Pool.切断します。(service_id: service_id, insert_in_use_ connections: insert_in_use_ connections) end end end |
# clear_description =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
サーバーの説明をクリアして、不明と見なし、安全に切断できるようにします。
662 663 664 |
# ファイル 'lib/mongo/ サーバー.rb', 行 662 デフォルト clear_description @description = mongo::サーバー::説明.新着情報(address, {}) end |
# close =オブジェクト
295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 |
# ファイル 'lib/mongo/ サーバー.rb', 行 295 デフォルト 閉じる 場合 モニター モニター.停止します。 end @connected = false _Pool = nil @Pool_lock.同期 行う _Pool, @Pool = @Pool, nil end # TODO: これを Ruby- 3174の _Pool.close に変更します。 # プールをクリアします。 サーバーが不明でない場合、 # プールは準備ができたままになります。 バックグラウンド 入力 スレッドを停止します。 _Pool&.閉じる(retain_ready: true) nil end |
#compressor ⇒ String | nil
圧縮は、接続ごとに個別にネゴシエートされます。
コンプレッサーがサーバー モニターによってネゴシエートされた場合(存在する場合)、
この属性は、サーバー チェックがまだ完了していない場合、および圧縮が否定されていない場合は nil です。
181 182 183 184 185 186 187 |
# ファイル 'lib/mongo/ サーバー.rb', 行 181 デフォルト compressor 場合 モニター モニター.compressor else nil end end |
#接続可能かどうか = true 、 false
サーバー選択の仕様が不要になりました。
サーバーへの接続を確立でき、メッセージを送信できるかどうかを判断します。
262 |
# ファイル 'lib/mongo/ サーバー.rb', 行 262 デフォルト 接続可能かどうか; end |
#接続済みかどうか= true|false
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
サーバーが接続されているかどうか。
321 322 323 |
# ファイル 'lib/mongo/ サーバー.rb', 行 321 デフォルト 接続されていますか? @connected end |
#切断します。 = true
このサーバーからドライバーを切断します。
接続プール内のこのサーバーへのすべてのアイドル接続を切断します(存在する場合)。 接続プールが実行中の場合は、接続プールの入力を停止します。 現在チェックアウトされている(つまり、使用中)の接続をすぐに閉じません。このような接続は、それぞれの接続プールに返されると閉じられます。 サーバーのバックグラウンド モニターを停止します。
276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 |
# ファイル 'lib/mongo/ サーバー.rb', 行 276 デフォルト 切断します。 場合 モニター モニター.停止します。 end @connected = false #現在の CMAP 仕様では、プールがほとんど使用できない必要があります : サーバーが不明な場合(または切断されている場合)。 # ただし、未処理の操作は引き続き完了する必要があります。 # とその接続は、次のようにプールにチェックインする必要があります アプリケーションは必要ありません。 このクリーンアップ要件により、次はできません: プールを閉じて、ここで nil に設定します。これは次に再作成されます サーバーが検出された時間。 pool_internal&.クリア true end |
force_load_ balancer は? = true | false
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
このサーバーが強制的にロード バランサーであるかどうかを返します。
130 131 132 |
# ファイル 'lib/mongo/ サーバー.rb', 行 130 デフォルト force_load_Balancer? [:connect] == :load_ ユーザー分散 end |
#hand_auth_failure。 =オブジェクト
認証失敗の処理。
529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 |
# ファイル 'lib/mongo/ サーバー.rb', 行 529 デフォルト pipeline_auth_failure. ノードの数 ヘルプ mongo::エラー::SocketTimeoutError # クラスターは遅い可能性があるため、中断しないでください 発生 ヘルプ mongo::エラー::SocketError, 認証::許可されていない => e # 非タイムアウト ネットワーク エラーまたは 認証エラーの場合は、プールをクリアして をマークします # トポロジーは不明です 不明です。( 生成: e.生成, service_id: e.service_id, stop_push_monitor: true, ) 発生 end |
#handstake_failure。 =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
ハンドシェイクの失敗を処理します。
506 507 508 509 510 511 512 513 514 515 |
# ファイル 'lib/mongo/ サーバー.rb', 行 506 デフォルト handschema_failure. ノードの数 ヘルプ mongo::エラー::SocketError, mongo::エラー::SocketTimeoutError => e 不明です。( 生成: e.生成, service_id: e.service_id, stop_push_monitor: true, ) 発生 end |
# heartbeat_frequency =オブジェクト別名: heartbeat_frequency_seconds
159 160 161 |
# ファイル 'lib/mongo/ サーバー.rb', 行 159 デフォルト heartbeat_frequency クラスター.heartbeat_Interval end |
詳しくは、 を 検査しstring ます
サーバー検査の結果がかなり出力されるようになりました。
356 357 358 |
# ファイル 'lib/mongo/ サーバー.rb', 行 356 デフォルト 検査する " #< Mongo::Server:0 x #{ object_id } address = { address .host } } : # {dress .port } } #{ status } > " end |
# last_scan =時間 | nil
last_scan サーバースキャンが最後に完了した時刻を返します。サーバーがまだスキャンされていない場合は nil を返します。
138 139 140 141 142 143 144 |
# ファイル 'lib/mongo/ サーバー.rb', 行 138 デフォルト last_scan 場合 説明 & & !説明.config.空の場合 説明.last_update_time else @last_scan end end |
# last_scan_mongotime =浮動小数点数 | nil
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
last_scan_mongotime が最後にサーバースキャンで完了した単調な時間を返します。サーバーがまだスキャンされていない場合は nil を返します。
149 150 151 152 153 154 155 |
# ファイル 'lib/mongo/ サーバー.rb', 行 149 デフォルト last_scan_mongotime 場合 説明 & & !説明.config.空の場合 説明.last_update_monotime else @last_scan_mongotime end end |
#matches_tag_set?(tag_set) ⇒ true, false
提供された タグ がサーバーの タグのサブセット であるかどうかを判断します。
462 463 464 465 466 |
# ファイル 'lib/mongo/ サーバー.rb', 行 462 デフォルト matches_tag_set?(tag_set) tag_set.キー.すべて? 行う |k| [k] & & [k] == tag_set[k] end end |
#next_ connection_id =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
685 686 687 |
# ファイル 'lib/mongo/ サーバー.rb', 行 685 デフォルト next_ connection_id @ connection_id_gen.next_id end |
プール→ Mongo::Server::ConnectionPool
このサーバーの接続プールを取得します。
425 426 427 428 429 430 431 432 433 434 435 436 |
# ファイル 'lib/mongo/ サーバー.rb', 行 425 デフォルト プール 場合 不明な場合 発生 エラー::ServerNotUsable, address end @Pool_lock.同期 行う ops = 接続されていますか? ? : .merge(MongoDB_io: false) @Pool ||= 接続プール.新着情報(自己, ops).タップ 行う |プール| プール.ready end end end |
プール_内部 = Server::ConnectionPool | nil
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
このサーバーの接続プールを取得するための内部ドライバー メソッド。
pool
とは異なり、 pool_internal
ではプールがまだ存在しない場合、作成されません。
446 447 448 449 450 |
# ファイル 'lib/mongo/ サーバー.rb', 行 446 デフォルト pool_internal @Pool_lock.同期 行う @Pool end end |
# public_opening_event = Object
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
サーバーを開くイベントを公開します。
341 342 343 344 345 346 |
# ファイル 'lib/mongo/ サーバー.rb', 行 341 デフォルト public_opening_event public_sdump_event( モニタリング::SERVER_OPENING, モニタリング::イベント::ServerOnce.新着情報(address, クラスター.トポロジー) ) end |
#再接続します。 = true
サーバー モニターを再起動します。
476 477 478 479 480 481 |
# ファイル 'lib/mongo/ サーバー.rb', 行 476 デフォルト 再接続します。 場合 [:monitoring_io] != false モニター.再起動します。 end @connected = true end |
再試行_読み取りの回数 =ブール値
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
サーバーが最新の読み取り再試行をサポートしているかどうか。
548 549 550 |
# ファイル 'lib/mongo/ サーバー.rb', 行 548 デフォルト retry_reads? !!(機能.errors_enabled? & & logical_session_timeout) end |
retry_writes? = true 、 false
再試行可能な書き込みは、サーバー バージョン3.6 + とシャーディングされたクラスターまたはレプリカセットでのみ使用できます。
このメソッドの一部の条件は、負荷分散されたトポロジーに対して に対して false を自動的に返します。 このメソッドの条件は常に true である必要があります。負荷分散されたトポロジーは MongoDB 5.0 + でのみ使用でき、スタンドアロンのトポロジーでは使用できないためです。 したがって、再試行書込みが有効になっていると仮定できます。
このサーバーに送信された書き込みを再試行します。
569 570 571 |
# ファイル 'lib/mongo/ サーバー.rb', 行 569 デフォルト retry_writes? !!(機能.errors_enabled? & & logical_session_timeout & & !スタンドアロン) || load_ balancer? end |
# start_monitoring =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
サーバーの監視を開始します。
サーバーがクラスターに含まれるまでの監視を遅延させて、クラスターにサーバーを追加するためにドライバーによって内部的に使用されます。
331 332 333 334 335 336 |
# ファイル 'lib/mongo/ サーバー.rb', 行 331 デフォルト start_monitoring public_opening_event 場合 [:monitoring_io] != false モニター.実行します。 end end |
#status ⇒ String
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
サーバーの状態を表す string(例: プライマリ)。
363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 |
# ファイル 'lib/mongo/ サーバー.rb', 行 363 デフォルト 状態 ケース 次の場合: load_ balancer? 'LB' 次の場合: プライマリ? プライマリ 次の場合: セカンダリか 「セカンダリ」 次の場合: スタンドアロン 'STANDALONE' 次の場合: アービタ 'ARBITER' 次の場合: ghost? 'GHOST' 次の場合: その他の場合 「その他の 」 次の場合: mongos? 'MONGOS' 次の場合: 不明な場合 「 UNKNOWN 」 else Summary メソッドはデバッグによく使用されるため、次は発生しないです: : 予想される型のいずれにも一致しない場合の例外 nil end end |
#のサマリー=オブジェクト
この方法は実験的なものであり、変更される可能性があります。
394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 |
# ファイル 'lib/mongo/ サーバー.rb', 行 394 デフォルト 概要 状態 = 自己.状態 || '' 場合 replica_set_name 状態 += " replica_set= #{ replica_set_name } " end ただし、 モニター&.実行中 状態 += " NO-MONITORING" end 場合 @Pool 状態 += " Pool= #{ @group . Summary } " end address_bit = 場合 address " #{アドレス.ホスト} : #{アドレス.ポート} " else 'nil' end " #< サーバー アドレス= #{ address_bit } #{ status } > " end |
#不明です。 (オプション = {}) =オブジェクト
サーバーを不明としてマークし、関連する SDAM イベント(サーバーの説明が変更された)を公開します。
生成がオプションで渡される場合、渡された生成がサーバーの接続プールの現在の生成よりも古くない場合にのみ、サーバーは不明としてマークされます。
597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 |
# ファイル 'lib/mongo/ サーバー.rb', 行 597 デフォルト 不明です。( = {}) プール = pool_internal 場合 load_ balancer? クライアントが負荷分散されたトポロジーにある場合、サーバー(1 つと # のみ)がロード バランサーとして起動し、ロード バランサーとして起動します。 は、無期限に 個のロード バランサーを指定します。 そのため、不明とはマークされていません。 # ただし、このメソッドはサーバーの接続プールもクリアします 後者が不明とマークされ、この部分が実行する必要がある場合は# サーバーがロード バランサーである場合は、 #。 # ロード バランサー サーバーにはサービス ID がない場合も可能です。 #例えば、への成功した接続がまだない場合は、 このサーバーはしますが、次の場合にはサーバーを不明にマークできます このような接続の数は、確立の途中で失敗しました。 場合 service_id = [:service_id] プール&.切断します。(service_id: service_id) end return end 場合 [: 生成] & & [: 生成] < プール&.生成 return end 場合 [:toplog_version] & & 説明.topic & & ![:toplog_version].gt?(説明.topic) 次に return end 場合 [:stop_push_monitor] モニター&.stop_push_monitor. end SDAM フローでは、インプレースなしでサーバー上の説明が更新されます 必要に応じて 個のミューテーションを使用し、SDAM 移行を呼び出します。 config = {} 場合 [:service_id] config[' serviceId '] = [:service_id] end 場合 [:toplog_version] config['topologyVersion'] = [:toplog_version] end new_description = 説明.新着情報(address, config, load_Balancer: load_ balancer?, force_load_Balancer: [:connect] == :load_ ユーザー分散, ) クラスター.run_sam_flow(説明, new_description, ) end |
# update_description (description) =オブジェクト
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
650 651 652 653 654 655 656 |
# ファイル 'lib/mongo/ サーバー.rb', 行 650 デフォルト update_description(説明) プール = pool_internal 場合 プール & & !説明.不明な場合 プール.ready end @description = 説明 end |
#update_last_scan ⇒ Object
このメソッドは、プライベート API の一部です。 このメソッドは将来削除または変更される可能性があるため、可能な限り使用しないでください。
690 691 692 693 |
# ファイル 'lib/mongo/ サーバー.rb', 行 690 デフォルト update_last_scan @last_scan = 時間.になりました @last_scan_mongotime = Utils.MongoDB_time end |
# with_ connection ( connection_ global_id: nil, context: nil, &lock) = オブジェクト
接続を使用してコード ブロックを実行します。このブロックはサーバーのプールからチェックアウトされ、その後チェックインされます。
494 495 496 497 498 499 500 |
# ファイル 'lib/mongo/ サーバー.rb', 行 494 デフォルト with_ connection(connection_ global_id: nil, context: nil, &ブロック) プール.with_ connection( connection_ global_id: connection_ global_id, context: context, &ブロック ) end |