ruby – ActiveRecord :: ConnectionTimeoutError
发布时间:2020-12-17 04:20:44 所属栏目:百科 来源:网络整理
导读:我收到此错误: 'could not obtain a database connection within 5 seconds (waited 5.001017 seconds). The max pool size is currently 16; consider increasing it.' 首先我得到了这个错误,我将计数从5提升到16.但它仍然在发生,我是唯一一个测试数据库的
我收到此错误:
'could not obtain a database connection within 5 seconds (waited 5.001017 seconds). The max pool size is currently 16; consider increasing it.' 首先我得到了这个错误,我将计数从5提升到16.但它仍然在发生,我是唯一一个测试数据库的人.当我是唯一的用户时,为什么会这样? 我不在铁轨上.我在用: ActiveRecord::Base.establish_connection ({ :adapter => 'mysql2',:database => 'ck',:host => 'localhost',:username => 'root',:password => '',:pool => 16,}) 并使用Sinatra. 谢谢 解决方法
正如Frederick指出的那样,您需要将打开的ActiveRecord连接返回到连接池.
如果您在线程模式下使用Thin服务器,则需要将其添加到Sinatra应用程序: after do ActiveRecord::Base.connection.close end …而不是使用ConnectionManagement建议.原因是Thin将请求处理分为两个线程,而关闭ActiveRecord连接的线程与打开它的线程不同.由于ActiveRecord按线程ID跟踪连接,因此会混淆并且不会正确返回连接. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |