generators/vulcanize/templates/resque/config/rubber/deploy-resque.rb in rubber-1.3.2 vs generators/vulcanize/templates/resque/config/rubber/deploy-resque.rb in rubber-1.5.0

- old
+ new

@@ -2,38 +2,57 @@ namespace :rubber do namespace :resque do rubber.allow_optional_tasks(self) - - after "rubber:install_packages", "rubber:resque:custom_install" - - task :custom_install, :roles => :resque do - rubber.sudo_script 'install_resque', <<-ENDSCRIPT - if [ -d resque ]; then - rm -r resque - fi - git clone git://github.com/defunkt/resque.git + namespace :worker do - if [ -d #{rubber_env.resque_web_dir} ]; then - rm -r #{rubber_env.resque_web_dir} - fi + rubber.allow_optional_tasks(self) - mkdir -p #{rubber_env.resque_web_dir} - mkdir #{rubber_env.resque_web_dir}/tmp - mv resque/config.ru #{rubber_env.resque_web_dir} - mv resque/lib/resque/server/* #{rubber_env.resque_web_dir}/ + before "deploy:stop", "rubber:resque:worker:stop" + after "deploy:start", "rubber:resque:worker:start" + after "deploy:restart", "rubber:resque:worker:restart" - rm -f /var/www/resque - ln -s #{rubber_env.resque_web_dir}/public /var/www/resque - ENDSCRIPT + desc "Starts resque workers" + task :start, :roles => :resque_worker do + rsudo "cd #{current_path} && RUBBER_ENV=#{rails_env} ./script/resque_worker_management.rb start", :as => rubber_env.app_user + end + + desc "Stops resque workers" + task :stop, :roles => :resque_worker do + rsudo "cd #{current_path} && RUBBER_ENV=#{rails_env} ./script/resque_worker_management.rb stop", :as => rubber_env.app_user + end + + desc "Restarts resque workers" + task :restart, :roles => :resque_worker do + rsudo "cd #{current_path} && RUBBER_ENV=#{rails_env} ./script/resque_worker_management.rb restart", :as => rubber_env.app_user + end end - after "rubber:setup_app_permissions", "rubber:resque:setup_resque_permissions" + namespace :web do + rubber.allow_optional_tasks(self) - task :setup_resque_permissions, :roles => :resque do - sudo "chown -R #{rubber_env.app_user}:#{rubber_env.app_user} #{rubber_env.resque_web_dir}/config.ru" + before "deploy:stop", "rubber:resque:web:stop" + after "deploy:start", "rubber:resque:web:start" + after "deploy:restart", "rubber:resque:web:restart" + + desc "Starts resque web tools" + task :start, :roles => :resque_web do + rsudo "RAILS_ENV=#{RUBBER_ENV} resque-web --pid-file /var/run/resque_web.pid --port #{rubber_env.resque_web_port} --no-launch #{current_path}/config/initializers/resque.rb" + end + + desc "Stops resque web tools" + task :stop, :roles => :resque_web do + rsudo "RAILS_ENV=#{RUBBER_ENV} resque-web --pid-file /var/run/resque_web.pid --kill" + end + + desc "Restarts resque web tools" + task :restart, :roles => :resque_web do + rubber.resque.web.stop + rubber.resque.web.start + end + end - + end end