0

Sequel ruby​​gemを使い始めたばかりですが、「disconnect」メソッドが機能していないようです。これが私のIRBテストセッションからの出力です:

1.9.3-p194 :002 > require 'sequel'
 => true 
1.9.3-p194 :003 > DB = Sequel.connect('postgres://postgres:mypassword@my_pg_host:5432/my_db')
 => #<Sequel::Postgres::Database: "postgres://postgres:mypassword@my_pg_host:5432/my_db"> 
1.9.3-p194 :004 > DB.test_connection
 => true 
1.9.3-p194 :005 > DB.disconnect
 => [] 
1.9.3-p194 :006 > DB.test_connection
 => true

続編のドキュメントには、これが機能しない理由を示すものは何もありません。

http://sequel.rubyforge.org/rdoc/classes/Sequel/Database.html#method-i-disconnect

私は何かが足りないのですか?

4

1 に答える 1

1

DB.disconnect現在接続プールにあるすべての接続を切断し、プールから接続を削除します。後で呼び出すDB.test_connectionと、接続プールで接続が検索され、プールが空であるため、新しい接続が作成されます。

DBあなたが投稿したコードは完全に予想される動作ですが、データベースへの単一の接続を表していないことに気付いていなかったと思います。

于 2012-10-19T15:13:53.800 に答える