문제는 :내 앱을 영웅에게 넘길 때 resque worker를 자동화하여 코드를 업데이트 할 수 있습니까?
나는 노동자가 수행하는 코드의 변경을 할 때 나는 새로운 코드를 밀어 후, Heroku가에 실행 노동자는 여전히 이전에 실행합니다.
그럼 수동으로 멈추고 다시 시작해야합니다. 하지만 그 잘못은 노동자가 직업을 수행 할 수 있고 등록이 해제 될 때까지 기다려야하기 때문입니다.
이 내 resque.rake 내가 Heroku가 내 응용 프로그램을 누르면, 작업자가 새로운 코드로 업데이트 할 수 있는지 알고 싶습니다
require 'resque'
require "resque/tasks"
task "resque:setup" => :environment do
ENV['QUEUE'] = '*' if ENV['QUEUE'].blank?
Resque::Worker.all.each {|w| w.unregister_worker}
Resque.after_fork do |job|
ActiveRecord::Base.establish_connection
end
end
task "resque:clean_workers" => :environment do
Resque::Worker.all.each {|w| w.unregister_worker}
end
desc "Alias for resque:work (To run workers on Heroku)"
task "jobs:work" => "resque:work"
Dir["#{Rails.root}/app/jobs/*.rb"].each { |file| require file }
입니다. 어떻게 할 수 있니?
감사합니다.
이전 작업자가 아직 실행 중이십니까? 헤로 꾸 로그는 푸시 후 어떤 모습입니까? 'heroku ps'는 어때? – willglynn
배포 후 "0 of 1 Workers"가 표시되지만 더럽습니다. 그것은 그 자체로 heroku에게 맹세합니다. 나는'heroku run : detached bundle exec rake resque : work QUEUE = *'로 resque를 실행 중이다. 감사합니다 – Luccas