sql >> Base de Datos >  >> RDS >> PostgreSQL

Los trabajadores de Rails Resque fallan con PGError:el servidor cerró la conexión inesperadamente

Después de hacer un poco de investigación / prueba y error. Para cualquiera que se encuentre con el mismo problema. Para aclarar lo que mencionó gc.

Resque.after_fork = Proc.new { ActiveRecord::Base.establish_connection }

El código anterior debe colocarse en:/lib/tasks/resque.rake

Por ejemplo:

require 'resque/tasks'

task "resque:setup" => :environment do
  ENV['QUEUE'] = '*'

  Resque.after_fork do |job|
    ActiveRecord::Base.establish_connection
  end

end

desc "Alias for resque:work (To run workers on Heroku)"
task "jobs:work" => "resque:work"

Espero que esto ayude a alguien, tanto como lo hizo conmigo.