Commit 2677f79353740545d0ddab9987e95e8eed896675
Exists in
spb-stable
and in
3 other branches
Merge branch 'sidekiq_load_check' into 'master'
Sidekiq Load Check
Showing
1 changed file
with
25 additions
and
1 deletions
Show diff stats
script/background_jobs
| @@ -6,6 +6,11 @@ sidekiq_pidfile="$app_root/tmp/pids/sidekiq.pid" | @@ -6,6 +6,11 @@ sidekiq_pidfile="$app_root/tmp/pids/sidekiq.pid" | ||
| 6 | sidekiq_logfile="$app_root/log/sidekiq.log" | 6 | sidekiq_logfile="$app_root/log/sidekiq.log" |
| 7 | gitlab_user=$(ls -l config.ru | awk '{print $3}') | 7 | gitlab_user=$(ls -l config.ru | awk '{print $3}') |
| 8 | 8 | ||
| 9 | +function warn | ||
| 10 | +{ | ||
| 11 | + echo "$@" 1>&2 | ||
| 12 | +} | ||
| 13 | + | ||
| 9 | function stop | 14 | function stop |
| 10 | { | 15 | { |
| 11 | bundle exec sidekiqctl stop $sidekiq_pidfile >> $sidekiq_logfile 2>&1 | 16 | bundle exec sidekiqctl stop $sidekiq_pidfile >> $sidekiq_logfile 2>&1 |
| @@ -35,6 +40,22 @@ function start_sidekiq | @@ -35,6 +40,22 @@ function start_sidekiq | ||
| 35 | bundle exec sidekiq -q post_receive,mailer,system_hook,project_web_hook,gitlab_shell,common,default -e $RAILS_ENV -P $sidekiq_pidfile $@ >> $sidekiq_logfile 2>&1 | 40 | bundle exec sidekiq -q post_receive,mailer,system_hook,project_web_hook,gitlab_shell,common,default -e $RAILS_ENV -P $sidekiq_pidfile $@ >> $sidekiq_logfile 2>&1 |
| 36 | } | 41 | } |
| 37 | 42 | ||
| 43 | +function load_ok | ||
| 44 | +{ | ||
| 45 | + sidekiq_pid=$(cat $sidekiq_pidfile) | ||
| 46 | + if [[ -z $sidekiq_pid ]] ; then | ||
| 47 | + warn "Could not find a PID in $sidekiq_pidfile" | ||
| 48 | + exit 0 | ||
| 49 | + fi | ||
| 50 | + | ||
| 51 | + if (ps -p $sidekiq_pid -o args | grep '\([0-9]\+\) of \1 busy' 1>&2) ; then | ||
| 52 | + warn "Too many busy Sidekiq workers" | ||
| 53 | + exit 1 | ||
| 54 | + fi | ||
| 55 | + | ||
| 56 | + exit 0 | ||
| 57 | +} | ||
| 58 | + | ||
| 38 | case "$1" in | 59 | case "$1" in |
| 39 | stop) | 60 | stop) |
| 40 | stop | 61 | stop |
| @@ -51,6 +72,9 @@ case "$1" in | @@ -51,6 +72,9 @@ case "$1" in | ||
| 51 | killall) | 72 | killall) |
| 52 | killall | 73 | killall |
| 53 | ;; | 74 | ;; |
| 75 | + load_ok) | ||
| 76 | + load_ok | ||
| 77 | + ;; | ||
| 54 | *) | 78 | *) |
| 55 | - echo "Usage: RAILS_ENV=your_env $0 {stop|start|start_no_deamonize|restart|killall}" | 79 | + echo "Usage: RAILS_ENV=your_env $0 {stop|start|start_no_deamonize|restart|killall|load_ok}" |
| 56 | esac | 80 | esac |