Files
gitlabhq/script/background_jobs
T
Jacob Vosmaer 03b14bb814 Use the new Sidekiq syntax to specify queues
This syntax is compatible with the current Sidekiq version we use
(2.17.0) and it protects us against future breakage by
https://github.com/mperham/sidekiq/commit/040eda558bc64139c846c781d3de0b79603e3035
2014-04-01 16:46:27 +02:00

81 lines
1.4 KiB
Bash
Executable File

#!/usr/bin/env bash
cd $(dirname $0)/..
app_root=$(pwd)
sidekiq_pidfile="$app_root/tmp/pids/sidekiq.pid"
sidekiq_logfile="$app_root/log/sidekiq.log"
gitlab_user=$(ls -l config.ru | awk '{print $3}')
function warn
{
echo "$@" 1>&2
}
function stop
{
bundle exec sidekiqctl stop $sidekiq_pidfile >> $sidekiq_logfile 2>&1
}
function killall
{
pkill -u $gitlab_user -f sidekiq
}
function restart
{
if [ -f $sidekiq_pidfile ]; then
stop
fi
killall
start_sidekiq -d -L $sidekiq_logfile
}
function start_no_deamonize
{
start_sidekiq
}
function start_sidekiq
{
bundle exec sidekiq -q post_receive -q mailer -q system_hook -q project_web_hook -q gitlab_shell -q common -q default -e $RAILS_ENV -P $sidekiq_pidfile $@ >> $sidekiq_logfile 2>&1
}
function load_ok
{
sidekiq_pid=$(cat $sidekiq_pidfile)
if [[ -z $sidekiq_pid ]] ; then
warn "Could not find a PID in $sidekiq_pidfile"
exit 0
fi
if (ps -p $sidekiq_pid -o args | grep '\([0-9]\+\) of \1 busy' 1>&2) ; then
warn "Too many busy Sidekiq workers"
exit 1
fi
exit 0
}
case "$1" in
stop)
stop
;;
start)
restart
;;
start_no_deamonize)
start_no_deamonize
;;
restart)
restart
;;
killall)
killall
;;
load_ok)
load_ok
;;
*)
echo "Usage: RAILS_ENV=your_env $0 {stop|start|start_no_deamonize|restart|killall|load_ok}"
esac