namespace :unicorn do

# Sends a USR2 signal to master unicorn to spawn a new master (based on the updated codebase)
# When new master spawns new workers, the old master process is killed
# This allows for zero downtime
desc "Restarts Unicorn gracefully to serve updated code"
task :restart do
  on roles(:web) do
    kill_process "unicorn", "USR2"
  end
end

desc "Kill Unicorn"
task :reset do
  on roles(:web) do
    kill_process "unicorn", "SIGTERM"
  end
end

end