From 976185db97d767db2dc88a1a39d1bc53606af311 Mon Sep 17 00:00:00 2001 From: Jacob Vosmaer Date: Wed, 9 Oct 2013 15:44:25 +0200 Subject: [PATCH 1/3] Always shut down sidekiq before starting --- lib/tasks/sidekiq.rake | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/tasks/sidekiq.rake b/lib/tasks/sidekiq.rake index d0e9dfe46a..e71cf0380e 100644 --- a/lib/tasks/sidekiq.rake +++ b/lib/tasks/sidekiq.rake @@ -5,7 +5,15 @@ namespace :sidekiq do end desc "GITLAB | Start sidekiq" - task :start do + task :start => :restart + + desc 'GitLab | Restart sidekiq' + task :restart do + if File.exist?(pidfile) + puts 'Shutting down existing sidekiq process.' + Rake::Task['sidekiq:stop'].invoke + puts 'Starting new sidekiq process.' + end system "nohup bundle exec sidekiq -q post_receive,mailer,system_hook,project_web_hook,gitlab_shell,common,default -e #{Rails.env} -P #{pidfile} >> #{Rails.root.join("log", "sidekiq.log")} 2>&1 &" end From a02a4dfa3793dad1a3ac5ede2c606824dbd58dee Mon Sep 17 00:00:00 2001 From: Jacob Vosmaer Date: Wed, 9 Oct 2013 15:46:00 +0200 Subject: [PATCH 2/3] Remove duplicate log path generation --- lib/tasks/sidekiq.rake | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/tasks/sidekiq.rake b/lib/tasks/sidekiq.rake index e71cf0380e..46caffd075 100644 --- a/lib/tasks/sidekiq.rake +++ b/lib/tasks/sidekiq.rake @@ -14,15 +14,19 @@ namespace :sidekiq do Rake::Task['sidekiq:stop'].invoke puts 'Starting new sidekiq process.' end - system "nohup bundle exec sidekiq -q post_receive,mailer,system_hook,project_web_hook,gitlab_shell,common,default -e #{Rails.env} -P #{pidfile} >> #{Rails.root.join("log", "sidekiq.log")} 2>&1 &" + system "nohup bundle exec sidekiq -q post_receive,mailer,system_hook,project_web_hook,gitlab_shell,common,default -e #{Rails.env} -P #{pidfile} >> #{log_file} 2>&1 &" end desc "GITLAB | Start sidekiq with launchd on Mac OS X" task :launchd do - system "bundle exec sidekiq -q post_receive,mailer,system_hook,project_web_hook,gitlab_shell,common,default -e #{Rails.env} -P #{pidfile} >> #{Rails.root.join("log", "sidekiq.log")} 2>&1" + system "bundle exec sidekiq -q post_receive,mailer,system_hook,project_web_hook,gitlab_shell,common,default -e #{Rails.env} -P #{pidfile} >> #{log_file} 2>&1" end def pidfile Rails.root.join("tmp", "pids", "sidekiq.pid") end + + def log_file + Rails.root.join("log", "sidekiq.log") + end end From 70563a780f6db9a13b380ab6aed79915fe9d3f56 Mon Sep 17 00:00:00 2001 From: Jacob Vosmaer Date: Wed, 9 Oct 2013 15:48:28 +0200 Subject: [PATCH 3/3] Use built-in sidekiq deamonization --- lib/tasks/sidekiq.rake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/tasks/sidekiq.rake b/lib/tasks/sidekiq.rake index 46caffd075..ba79b6e035 100644 --- a/lib/tasks/sidekiq.rake +++ b/lib/tasks/sidekiq.rake @@ -14,7 +14,7 @@ namespace :sidekiq do Rake::Task['sidekiq:stop'].invoke puts 'Starting new sidekiq process.' end - system "nohup bundle exec sidekiq -q post_receive,mailer,system_hook,project_web_hook,gitlab_shell,common,default -e #{Rails.env} -P #{pidfile} >> #{log_file} 2>&1 &" + system "bundle exec sidekiq -q post_receive,mailer,system_hook,project_web_hook,gitlab_shell,common,default -e #{Rails.env} -P #{pidfile} -d -L #{log_file} >> #{log_file} 2>&1" end desc "GITLAB | Start sidekiq with launchd on Mac OS X"