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