Sha256: c85f32221768765e00be1ba3bc2bcf5aa0c631664b4ed3c4d3e306ee87ab51e4

Contents?: true

Size: 1.41 KB

Versions: 5

Compression:

Stored size: 1.41 KB

Contents

#!/bin/bash
### BEGIN INIT INFO
# Provides: unicorn
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Manage unicorn server
# Description: Start, stop, restart unicorn server for a specific application.
### END INIT INFO
set -e
HOME=<%= fetch(:user_home_path) %>
APP_ROOT=<%= current_path %>
PID=<%= fetch(:unicorn_pid_path) %>
USER=<%= fetch(:user) %>
ENV="<%= fetch(:stage) %>"
RUBY_VERSION="<%= fetch(:ruby_version) %>"
CONFIG_FILE="<%= fetch(:unicorn_config_path) %>"
CMD="cd $APP_ROOT && export RBENV_ROOT="$HOME/.rbenv" RBENV_VERSION=$RUBY_VERSION; $HOME/.rbenv/bin/rbenv exec bundle exec unicorn -c $CONFIG_FILE -E $ENV -D"

set -u

OLD_PIN="$PID.oldbin"

sig () {
  test -s "$PID" && kill -$1 `cat $PID`
}

oldsig () {
  test -s $OLD_PIN && kill -$1 `cat $OLD_PIN`
}

run () {
  if [ "$(id -un)" = "$USER" ]; then
    eval $1
  else
    su -c "$1" - $USER
  fi
}

case "$1" in
start)
  sig 0 && echo >&2 "Already running" && exit 0
  run "$CMD"
  ;;
stop)
  sig QUIT && exit 0
  echo >&2 "Not running"
  ;;
force-stop)
  sig TERM && exit 0
  echo >&2 "Not running"
  ;;
restart|reload|upgrade)
  sig USR2 && sleep 3 && echo reloaded OK && exit 0
  echo >&2 "Couldn't reload, starting '$CMD' instead"
  run "$CMD"
  ;;
reopen-logs)
  sig USR1
  ;;
*)
  echo >&2 "Usage: $0 <start|stop|restart|upgrade|force-stop|reopen-logs>"
  exit 1
  ;;
esac

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
capistrano-simple-unicorn-1.1.4 lib/generators/capistrano/simple_unicorn/templates/unicorn_init.erb
capistrano-simple-unicorn-1.1.3 lib/generators/capistrano/simple_unicorn/templates/unicorn_init.erb
capistrano-simple-unicorn-1.1.2 lib/generators/capistrano/simple_unicorn/templates/unicorn_init.erb
capistrano-simple-unicorn-1.1.1 lib/generators/capistrano/simple_unicorn/templates/unicorn_init.erb
capistrano-simple-unicorn-1.1.0 lib/generators/capistrano/simple_unicorn/templates/unicorn_init.erb