activerecord的一个猴子补丁,用于在失去与mysql服务器的连接后重新连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了activerecord的一个猴子补丁,用于在失去与mysql服务器的连接后重新连接相关的知识,希望对你有一定的参考价值。

  1. # Patch mysql adapter so that it reconnects after discovering an lost connection error
  2.  
  3. module ActiveRecord::ConnectionAdapters
  4. class MysqlAdapter
  5. alias :orig_execute :execute
  6. def execute(sql,name=nil)
  7. orig_execute(sql,name)
  8. rescue ActiveRecord::StatementInvalid => exception
  9. if LOST_CONNECTION_ERROR_MESSAGES.any? { |msg| exception.message. =~ /#{msg}/ }
  10. reconnect!
  11. retry
  12. else
  13. raise
  14. end
  15. end
  16. end
  17. end

以上是关于activerecord的一个猴子补丁,用于在失去与mysql服务器的连接后重新连接的主要内容,如果未能解决你的问题,请参考以下文章