PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Les travailleurs Rails Resque échouent avec PGError :le serveur a fermé la connexion de manière inattendue

Après avoir fait un peu de recherche / essai et erreur. Pour tous ceux qui rencontrent le même problème. Pour clarifier ce que gc a mentionné.

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

Le code ci-dessus doit être placé dans :/lib/tasks/resque.rake

Par exemple :

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"

J'espère que cela aidera quelqu'un, autant qu'il l'a fait pour moi.