Activerecord error: Mysql2::Error: MySQL server has gone away

Activerecord error: Mysql2::Error: MySQL server has gone away

我查看了以前的问题,这些问题看起来与我的问题相似,但似乎没有任何关系。 执行以下查询后:

Runner::Models::Job.where(:id => job_id)

我遇到异常,它偶尔会发生: Mysql2::Error: MySQL 服务器已经消失: SELECT jobs.* FROM jobs WHERE jobs.id = 7507 LIMIT 1

我使用 puma,在 config.ru 我使用:

use ActiveRecord::ConnectionAdapters::ConnectionManagement

问题是这个错误总是发生在同一个地方,我无法弄清楚为什么会发生,我检查了内存,cpu,等等'..,一切似乎都很正常。 也许有人会有想法。 谢谢!

像这样写你的 Resque 任务:

class MyTask
  def self.perform
    ActiveRecord::Base.verify_active_connections!
    # rest of your code
  end
end

在此处查看更多详细信息:https://github.com/resque/resque/wiki/FAQ#how-do-you-work-around-the-mysql-server-has-gone-away-error-