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, 모든 것이 작동하는 것 같다 하지만 리크 웹을 볼 때 실행중인 작업자가 없습니다 ...

답변