diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/background_jobs | 80 | ||||
-rwxr-xr-x | bin/check | 2 | ||||
-rw-r--r-- | bin/upgrade.rb | 3 | ||||
-rwxr-xr-x | bin/web | 49 |
4 files changed, 134 insertions, 0 deletions
diff --git a/bin/background_jobs b/bin/background_jobs new file mode 100755 index 00000000000..e0140e9689b --- /dev/null +++ b/bin/background_jobs @@ -0,0 +1,80 @@ +#!/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 diff --git a/bin/check b/bin/check new file mode 100755 index 00000000000..c907a98b5d9 --- /dev/null +++ b/bin/check @@ -0,0 +1,2 @@ +#!/bin/sh +sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production diff --git a/bin/upgrade.rb b/bin/upgrade.rb new file mode 100644 index 00000000000..a5caecf8526 --- /dev/null +++ b/bin/upgrade.rb @@ -0,0 +1,3 @@ +require_relative "../lib/gitlab/upgrader" + +Gitlab::Upgrader.new.execute diff --git a/bin/web b/bin/web new file mode 100755 index 00000000000..1ad3b5d24b9 --- /dev/null +++ b/bin/web @@ -0,0 +1,49 @@ +#!/usr/bin/env bash + +cd $(dirname $0)/.. +app_root=$(pwd) + +unicorn_pidfile="$app_root/tmp/pids/unicorn.pid" +unicorn_config="$app_root/config/unicorn.rb" + +function get_unicorn_pid +{ + local pid=$(cat $unicorn_pidfile) + if [ -z $pid ] ; then + echo "Could not find a PID in $unicorn_pidfile" + exit 1 + fi + unicorn_pid=$pid +} + +function start +{ + bundle exec unicorn_rails -D -c $unicorn_config -E $RAILS_ENV +} + +function stop +{ + get_unicorn_pid + kill -QUIT $unicorn_pid +} + +function reload +{ + get_unicorn_pid + kill -USR2 $unicorn_pid +} + +case "$1" in + start) + start + ;; + stop) + stop + ;; + reload) + reload + ;; + *) + echo "Usage: RAILS_ENV=your_env $0 {start|stop|reload}" + ;; +esac |