rails application 运行10~12小时(没有request给fastcgi),当10~12小时过后,再发request,系统报internal 500 错误,看了日志,记录如下:
/!\ FAILSAFE /!\ Wed Apr 15 08:16:01 +0800 2009
Status: 500 Internal Server Error
Broken pipe
/usr/local/lib/ruby/1.8/mysql.rb:1042:in flush'
write'
/usr/local/lib/ruby/1.8/mysql.rb:1042:in
/usr/local/lib/ruby/1.8/mysql.rb:462:in write'
command'
/usr/local/lib/ruby/1.8/mysql.rb:436:in
/usr/local/lib/ruby/1.8/mysql.rb:307:in stat'
active?'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/mysql_adapter.rb:264:in
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract_adapter.rb:136:in verify!'
checkout_and_verify'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:256:in
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:252:in checkout_existing_connection'
checkout'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:186:in
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in loop'
checkout'
/usr/local/lib/ruby/gems/1.8/gems/activerecord-2.2.2/lib/active_record/connection_adapters/abstract/connection_pool.rb:184:in
/usr/local/lib/ruby/1.8/monitor.rb:242:in `synchronize'
..........
好像是mysql的connection已经关闭了,而fastcgi进程还运行着,当再次request时,找不到对应connection 所以报错
各位还有遇到过这种问题,如何解决的?是否可以更改mysql的connection连接超时时间?
可以更改mysql的connection连接超时时间