25 lines
820 B
Text
25 lines
820 B
Text
|
|
||
|
# capistrano-resque could be used, but it does not support running resque as another user.
|
||
|
# If you want to run resque as another user, setup sudo to allow running commands as that user:
|
||
|
# deploy ALL=(foodsoft_user) NOPASSWD: ALL
|
||
|
# and set `:run_user` to the foodsoft user.
|
||
|
namespace :resque do
|
||
|
|
||
|
%w{start stop restart}.each do |action|
|
||
|
desc "#{action.capitalize} Resque workers"
|
||
|
task action => ['deploy:set_rails_env'] do
|
||
|
on roles(:resque), in: :groups do
|
||
|
within current_path do
|
||
|
cmd = command(:rake, "resque:#{action}_workers", "RAILS_ENV=#{fetch(:rails_env)}")
|
||
|
if fetch(:run_user).nil? or fetch(:run_user) == local_user
|
||
|
execute cmd
|
||
|
else
|
||
|
execute 'sudo', '-u', fetch(:run_user), cmd
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
|
||
|
end
|