namespace :puma do
namespace :workers do desc 'Add a worker' task :count do on roles (fetch(:puma_role)) do |role| puma_switch_user(role) do #TODO # cleanup # add host name/ip workers_count = capture("ps ax | grep -c 'puma: cluster worker: `cat #{fetch(:puma_pid)}`'").to_i - 1 log "Workers count : #{workers_count}" end end end # TODO # Add/remove workers to specific host/s # Define # of workers to add/remove # Refactor desc 'Worker++' task :more do on roles (fetch(:puma_role)) do |role| puma_switch_user(role) do execute(:kill, "-TTIN `cat #{fetch(:puma_pid)}`") end end end desc 'Worker--' task :less do on roles (fetch(:puma_role)) do |role| puma_switch_user(role) do execute(:kill, "-TTOU `cat #{fetch(:puma_pid)}`") end end end end
end