[gitlab:check] Fix detecting the status of sidekiq

If you are running another sidekiq instance on your server, e.g. GitLab
CI, the check script would parse the output of `ps aux` searching for
`sidekiq` and returning success, although the GitLab sidekiq may not be
running.

Now the `ps` call will only print the processes run by the GitLab user.
parent 72dd8011
...@@ -663,7 +663,6 @@ namespace :gitlab do ...@@ -663,7 +663,6 @@ namespace :gitlab do
else else
puts "#{sidekiq_match.length}".red puts "#{sidekiq_match.length}".red
try_fixing_it( try_fixing_it(
'Unless you are running another Rails application on this server there should only be one Sidekiq process.',
'sudo service gitlab stop', 'sudo service gitlab stop',
'sudo pkill -f sidekiq', 'sudo pkill -f sidekiq',
'sleep 10 && sudo pkill -9 -f sidekiq', 'sleep 10 && sudo pkill -9 -f sidekiq',
...@@ -674,7 +673,7 @@ namespace :gitlab do ...@@ -674,7 +673,7 @@ namespace :gitlab do
end end
def sidekiq_process_match def sidekiq_process_match
run_and_match("ps aux | grep -i sidekiq", /(sidekiq \d+\.\d+\.\d+.+$)/) run_and_match("ps ux | grep -i sidekiq", /(sidekiq \d+\.\d+\.\d+.+$)/)
end end
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment