debian-mirror-gitlab/bin/background_jobs

84 lines
1.4 KiB
Text
Raw Normal View History

2015-04-26 12:48:37 +05:30
#!/bin/sh
2014-09-02 18:07:02 +05:30
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}')
2015-04-26 12:48:37 +05:30
warn()
2014-09-02 18:07:02 +05:30
{
echo "$@" 1>&2
}
2015-04-26 12:48:37 +05:30
stop()
2014-09-02 18:07:02 +05:30
{
bundle exec sidekiqctl stop $sidekiq_pidfile >> $sidekiq_logfile 2>&1
}
2015-04-26 12:48:37 +05:30
killall()
2014-09-02 18:07:02 +05:30
{
pkill -u $gitlab_user -f 'sidekiq [0-9]'
}
2015-04-26 12:48:37 +05:30
restart()
2014-09-02 18:07:02 +05:30
{
if [ -f $sidekiq_pidfile ]; then
stop
fi
killall
start_sidekiq -d -L $sidekiq_logfile >> $sidekiq_logfile 2>&1
2014-09-02 18:07:02 +05:30
}
2015-04-26 12:48:37 +05:30
start_no_deamonize()
2014-09-02 18:07:02 +05:30
{
start_sidekiq >> $sidekiq_logfile 2>&1
2014-09-02 18:07:02 +05:30
}
2015-04-26 12:48:37 +05:30
start_sidekiq()
2014-09-02 18:07:02 +05:30
{
bundle exec sidekiq -q post_receive -q mailers -q archive_repo -q system_hook -q project_web_hook -q gitlab_shell -q incoming_email -q runner -q common -q default -e $RAILS_ENV -P $sidekiq_pidfile "$@"
2014-09-02 18:07:02 +05:30
}
2015-04-26 12:48:37 +05:30
load_ok()
2014-09-02 18:07:02 +05:30
{
sidekiq_pid=$(cat $sidekiq_pidfile)
2015-04-26 12:48:37 +05:30
if [ -z "$sidekiq_pid" ] ; then
2014-09-02 18:07:02 +05:30
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
;;
start_foreground)
start_sidekiq
;;
2014-09-02 18:07:02 +05:30
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