3

Mongoid 2.x では、実行Mongoid.database.connection.closeしてデータベース接続をリセットできました。この特定の API は Mongoid3 では使用できなくなりました。接続をリセットする新しい方法は何ですか?

動機: 進行中のクエリを中断すると (ctrl-c)、接続が切断されます。後続のクエリはハングするだけです。さらに、タイムアウトなどのスローされたエラーは同じことを行います (参照: http://simple10.com/rescuing-from-racktimeout-to-close-mongodb-connection )。

4

3 に答える 3

4

解決策を見つけました!

Mongoid::Sessions.default.disconnect

また

Model.collection.database.session.disconnect

ctrl-cコンソールでクエリを中断した場合、これにより接続が適切にリセットされます。

于 2013-11-20T20:17:02.277 に答える
0

Mongoid3 の代わりの mongo ドライバーである Moped は、実際に接続の再試行を自動的に処理することがわかりました。

https://github.com/mongoid/moped/blob/master/lib/moped/node.rb#L115

于 2012-09-29T20:56:13.760 に答える