From 3b4e7b315b598d10cf4c1a19d4a23b9da5ce12bf Mon Sep 17 00:00:00 2001 From: Ariejan de Vroom Date: Tue, 27 Mar 2012 15:17:23 +0200 Subject: [PATCH] Added fix for "MySQL has gone away" errors with Resque workers. --- config/initializers/connection_fix.rb | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 config/initializers/connection_fix.rb diff --git a/config/initializers/connection_fix.rb b/config/initializers/connection_fix.rb new file mode 100644 index 00000000000..e77253afc4e --- /dev/null +++ b/config/initializers/connection_fix.rb @@ -0,0 +1,17 @@ +module ActiveRecord::ConnectionAdapters + class MysqlAdapter + alias_method :execute_without_retry, :execute + + def execute(*args) + execute_without_retry(*args) + rescue ActiveRecord::StatementInvalid => e + if e.message =~ /server has gone away/i + warn "Server timed out, retrying" + reconnect! + retry + else + raise e + end + end + end +end -- GitLab