atlas_recipe :sidekiq do
during :provision, "init_d" during "deploy:start", "start" during "deploy:stop", "stop" during "deploy:restart", "restart" during "deploy:publishing", "restart"
end
namespace :atlas do
namespace :sidekiq do desc "Install sidekiq service script" task :init_d do privileged_on roles(fetch(:atlas_sidekiq_role)) do |host, user| template "sidekiq_init.erb", "/etc/init.d/sidekiq_#{application_basename}", :mode => "a+rx", :binding => binding, :sudo => true execute "sudo update-rc.d -f sidekiq_#{application_basename} defaults" end end %w[start stop].each do |command| desc "#{command} sidekiq" task command do on roles(fetch(:atlas_sidekiq_role)) do execute "service sidekiq_#{application_basename} #{command}" end end end desc "restart sidekiq" task :restart do # Re-enable the "stop" task, just in case we called it once already # (as would happen during deploy:migrate_and_restart). Rake::Task["atlas:sidekiq:stop"].reenable invoke "atlas:sidekiq:stop" invoke "atlas:sidekiq:start" end end
end