我有Rails(4.2.6)应用程序,我使用Thread(s)进行Rufus :: Scheduler导致的后台数据处理。我在开发环境中有工作应用程序,但当我在nginx +乘客上将它移动到生产时,即使没有足够的负载,我也会得到异常 ActiveRecord :: ConnectionNotEstablished 。
对从Actives执行的ActiveRecord :: Base的后代的所有调用都包含在
中 ActiveRecord::Base.connection_pool.with_connection{}
我之前从未使用多线程环境,但在对问题进行一些调查后,我建议可能就是这个问题。
在JRuby下尝试它是否合理,哪种包含是优先的?
主机系统是Ubuntu 14.04 x86_64。
答案 0 :(得分:0)
OMG
我已经包含了宝石'puma'http://puma.io/并使用了Nginx代理,它的确有效!我认为这个解决方案比JRuby更容易。
以前我使用Passenger并有类似的惊喜。
首先,Passenger在变为空闲状态时杀死线程。我已经全球发起了Thread和Rufus,并且Passenger在开始2分钟后杀死了他们。
中学,这个问题和乘客意外发生。
嗯,问题已经解决,可能这个备忘录可以帮助某人。