首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >搜索:弃用警告:数据库连接不会自动关闭

搜索:弃用警告:数据库连接不会自动关闭
EN

Stack Overflow用户
提问于 2013-04-23 03:17:46
回答 3查看 1.6K关注 0票数 1

我有这个痕迹,但我不知道该如何追查原因。这是在测试运行期间弹出的。有没有关于如何继续的想法?

代码语言:javascript
复制
DEPRECATION WARNING: Database connections will not be closed automatically, please close your
database connection at the end of the thread by calling `close` on your
connection.  For example: ActiveRecord::Base.connection.close
. (called from mon_synchronize at /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211)
/home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:212:in `block in clear_stale_cached_connections!'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:210:in `each'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:210:in `clear_stale_cached_connections!'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:274:in `block (2 levels) in checkout'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:242:in `loop'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:242:in `block in checkout'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:239:in `checkout'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:102:in `block in connection'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in `mon_synchronize'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:101:in `connection'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:410:in `retrieve_connection'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_specification.rb:171:in `retrieve_connection'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_specification.rb:145:in `connection'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activerecord-3.2.9/lib/active_record/query_cache.rb:61:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activerecord-3.2.9/lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/actionpack-3.2.9/lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:405:in `_run__1441209721629762293__call__222931449678172199__callbacks'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:405:in `__run_callback'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activesupport-3.2.9/lib/active_support/callbacks.rb:81:in `run_callbacks'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/actionpack-3.2.9/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/actionpack-3.2.9/lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/actionpack-3.2.9/lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/actionpack-3.2.9/lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/rack/logger.rb:32:in `call_app'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/rack/logger.rb:16:in `block in call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activesupport-3.2.9/lib/active_support/tagged_logging.rb:22:in `tagged'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/rack/logger.rb:16:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/actionpack-3.2.9/lib/action_dispatch/middleware/request_id.rb:22:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/methodoverride.rb:21:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/runtime.rb:17:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/activesupport-3.2.9/lib/active_support/cache/strategy/local_cache.rb:72:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/lock.rb:15:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/actionpack-3.2.9/lib/action_dispatch/middleware/static.rb:62:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/airbrake-3.1.6/lib/airbrake/rack.rb:41:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/airbrake-3.1.6/lib/airbrake/user_informer.rb:12:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/engine.rb:479:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/application.rb:223:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/builder.rb:134:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/urlmap.rb:64:in `block in call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/urlmap.rb:49:in `each'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/urlmap.rb:49:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/capybara-1.1.3/lib/capybara/server.rb:17:in `call'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/rack-1.4.5/lib/rack/handler/webrick.rb:59:in `service'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
  /home/gaul/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'
EN

回答 3

Stack Overflow用户

发布于 2013-04-23 03:25:33

那么,可行的解决方案是:

代码语言:javascript
复制
after do
  ActiveRecord::Base.connection.close
end

你可以看看这个问题

ActiveRecord connection warning. (Database connections will not be closed automatically)

票数 3
EN

Stack Overflow用户

发布于 2014-07-16 06:46:24

我不确定这是否是解决这个问题的方法,但我相信我已经在我自己的应用中找到了答案。

场景:一些功能测试(使用rspec和水豚)导致出现此警告,尽管这些测试正在通过。

问题:测试加载了一个页面,然后用ajax调用控制器,并用几个部分rendered_to_string呈现回来。其中一个分词抛出了一个错误,但测试只寻找其他东西的外观,这不是该分词的一部分。所以测试通过了。

我们需要对这种特殊方法进行更好的测试,而且,它应该做更少的事情。但这就是我的问题的原因,我只能在运行测试时跟踪test.log才能看到它。

票数 1
EN

Stack Overflow用户

发布于 2013-06-15 07:19:25

我和Dominik有同样的问题,但我还没能解决它。

以下是一些想法:

  • 首先,我没有在代码中使用任何线程。
  • 我责怪VanityUrls,因为一旦页面加载,我就一直在查找log/test.log,并且有一堆图像调用落入了虚荣路线。我的猜测是每个请求都会产生一个线程?我没有任何论据来验证这是happening.
  • Having的,考虑到这一点,我去掉了一些图像和工作。我一直收到数据库警告,但以下测试工作正常。在过去,以下测试会失败,因为AR不能为测试产生新的连接:(
  • 我认为它是new Relic,Capybara,Capybara Webkit,AirBrake。我更新了那些。仍然收到警告。
  • 不知道还能做什么。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16154994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档