我是否需要在 Ruby 和 Sinatra 中释放/关闭池化 mongodb 连接?我查看了http://api.mongodb.org/ruby/current/#Connection_Pooling但没有看到任何具体内容。
但是,对于流量相对较低的应用程序,我时不时会收到此错误:
烟雾测试块中的错误无法在 10 秒内获得连接。当前最大池大小为 10;考虑增加池大小或超时。: ["/var/lib/gems/1.9.1/gems/mongo-1.9.1/lib/mongo/util/pool.rb:274:in `block in checkout'",
我目前使用配置块来设置连接:
configure do
#Reading the file
ini = IniFile.new(:filename=>file_name,:parameter => '=')
section = ini['server']
env = section['environment']
mongoip = section['mongo_host']
mongo_port = section['mongo_port']
$environment = section['environment']
begin
$mongo_client = MongoClient.new(mongoip, mongo_port, :pool_size => 10, :pool_timeout => 10,:connect_timeout =>10)
rescue Exception => e
"Error connecting to the database"
end
end
我在这里想念什么?