OSDN Git Service

[gitlab:check] Fix detecting the status of sidekiq
authorJohannes Schleifenbaum <johannes@js-webcoding.de>
Thu, 26 Sep 2013 13:40:44 +0000 (15:40 +0200)
committerJohannes Schleifenbaum <johannes@js-webcoding.de>
Fri, 27 Sep 2013 14:06:06 +0000 (16:06 +0200)
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.

lib/tasks/gitlab/check.rake

index 88eb088..6e2a59f 100644 (file)
@@ -663,7 +663,6 @@ namespace :gitlab do
       else
         puts "#{sidekiq_match.length}".red
         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 pkill -f sidekiq',
           'sleep 10 && sudo pkill -9 -f sidekiq',
@@ -674,7 +673,7 @@ namespace :gitlab do
     end
 
     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