gitlab-org--gitlab-foss/script/background_jobs

57 lines
985 B
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 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,mailer,system_hook,project_web_hook,gitlab_shell,common,default -e $RAILS_ENV -P $sidekiq_pidfile $@ >> $sidekiq_logfile 2>&1
}
case "$1" in
stop)
stop
;;
start)
restart
;;
start_no_deamonize)
start_no_deamonize
;;
restart)
restart
;;
killall)
killall
;;
*)
echo "Usage: RAILS_ENV=your_env $0 {stop|start|start_no_deamonize|restart|killall}"
esac