2
Redis/Resque가 설치되어 있지만 배포 할 때 Capistrano에서 시작/다시 시작하는 데 어려움을 겪고 있습니다.1 생산을 시작하는 방법 Capistrano에서 Resque 직원을 Resque 하시겠습니까?
내 요구 사항은 매우 간단합니다. 대기열이 1 개이고 작업자가 한 명만 필요하며 monit 또는 god를 사용하지 않습니다. 합니다 (Railscast 기준)
namespace :deploy do
task :start do ; end
task :stop do ; end
task :restart, :roles => :app, :except => { :no_release => true } do
run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
end
task :restart_resque do
pid_file = "#{shared_path}/pids/resque.pid"
run "test -f #{pid_file} && cd #{current_path} && kill -s QUIT `cat #{pid_file}` || rm -f #{pid_file}"
run "cd #{current_path}; RAILS_ENV=production QUEUE='*' VERBOSE=1 nohup rake environment resque:work& > #{shared_path}/log/resque.log && echo $! > #{pid_file}"
end
end
after 'deploy:restart', 'deploy:restart_resque'
내 resque.rake 파일이 있습니다 :
는 this blog post을 바탕으로, 내 deploy.rb이있다
require "resque/tasks"
task "resque:setup" => :environment
내가 cap deploy
, 모든 것이 작동하는 것 같다 하지만 리크 웹을 볼 때 실행중인 작업자가 없습니다 ...