summaryrefslogtreecommitdiff
path: root/lib/tasks
diff options
context:
space:
mode:
authorJacob Vosmaer <contact@jacobvosmaer.nl>2013-10-17 11:58:03 +0200
committerJacob Vosmaer <contact@jacobvosmaer.nl>2013-10-17 12:01:29 +0200
commit73d19bb32030b6de61a0810b85187cb4f02a80fc (patch)
treecbcf6b018d73018aa043e3a557688f678abfc76a /lib/tasks
parentfd39c80f8b4a7c98e0da62bf7e7f29ee192887ca (diff)
downloadgitlab-ce-73d19bb32030b6de61a0810b85187cb4f02a80fc.tar.gz
Count sidekiq processes using String#scan
It seems there is no easy way to count pattern occurences with String#match.
Diffstat (limited to 'lib/tasks')
-rw-r--r--lib/tasks/gitlab/check.rake14
1 files changed, 7 insertions, 7 deletions
diff --git a/lib/tasks/gitlab/check.rake b/lib/tasks/gitlab/check.rake
index 573b076d60a..e01f3b23d03 100644
--- a/lib/tasks/gitlab/check.rake
+++ b/lib/tasks/gitlab/check.rake
@@ -643,7 +643,7 @@ namespace :gitlab do
def check_sidekiq_running
print "Running? ... "
- if sidekiq_process_match
+ if sidekiq_process_count > 0
puts "yes".green
else
puts "no".red
@@ -659,14 +659,14 @@ namespace :gitlab do
end
def only_one_sidekiq_running
- sidekiq_match = sidekiq_process_match
- return unless sidekiq_match
+ process_count = sidekiq_process_count
+ return if process_count.zero?
print 'Number of Sidekiq processes ... '
- if sidekiq_match.length == 1
+ if process_count == 1
puts '1'.green
else
- puts "#{sidekiq_match.length}".red
+ puts "#{process_count}".red
try_fixing_it(
'sudo service gitlab stop',
"sudo pkill -u #{gitlab_user} -f sidekiq",
@@ -677,8 +677,8 @@ namespace :gitlab do
end
end
- def sidekiq_process_match
- run_and_match("ps ux | grep -i sidekiq | grep -v grep", /(sidekiq \d+\.\d+\.\d+.+$)/)
+ def sidekiq_process_count
+ `ps ux`.scan(/sidekiq \d+\.\d+\.\d+/).count
end
end