Commit 73d19bb32030b6de61a0810b85187cb4f02a80fc

Authored by Jacob Vosmaer
1 parent fd39c80f

Count sidekiq processes using String#scan

It seems there is no easy way to count pattern occurences with
String#match.
Showing 1 changed file with 7 additions and 7 deletions   Show diff stats
lib/tasks/gitlab/check.rake
@@ -643,7 +643,7 @@ namespace :gitlab do @@ -643,7 +643,7 @@ namespace :gitlab do
643 def check_sidekiq_running 643 def check_sidekiq_running
644 print "Running? ... " 644 print "Running? ... "
645 645
646 - if sidekiq_process_match 646 + if sidekiq_process_count > 0
647 puts "yes".green 647 puts "yes".green
648 else 648 else
649 puts "no".red 649 puts "no".red
@@ -659,14 +659,14 @@ namespace :gitlab do @@ -659,14 +659,14 @@ namespace :gitlab do
659 end 659 end
660 660
661 def only_one_sidekiq_running 661 def only_one_sidekiq_running
662 - sidekiq_match = sidekiq_process_match  
663 - return unless sidekiq_match 662 + process_count = sidekiq_process_count
  663 + return if process_count.zero?
664 664
665 print 'Number of Sidekiq processes ... ' 665 print 'Number of Sidekiq processes ... '
666 - if sidekiq_match.length == 1 666 + if process_count == 1
667 puts '1'.green 667 puts '1'.green
668 else 668 else
669 - puts "#{sidekiq_match.length}".red 669 + puts "#{process_count}".red
670 try_fixing_it( 670 try_fixing_it(
671 'sudo service gitlab stop', 671 'sudo service gitlab stop',
672 "sudo pkill -u #{gitlab_user} -f sidekiq", 672 "sudo pkill -u #{gitlab_user} -f sidekiq",
@@ -677,8 +677,8 @@ namespace :gitlab do @@ -677,8 +677,8 @@ namespace :gitlab do
677 end 677 end
678 end 678 end
679 679
680 - def sidekiq_process_match  
681 - run_and_match("ps ux | grep -i sidekiq | grep -v grep", /(sidekiq \d+\.\d+\.\d+.+$)/) 680 + def sidekiq_process_count
  681 + `ps ux`.scan(/sidekiq \d+\.\d+\.\d+/).count
682 end 682 end
683 end 683 end
684 684