Files @ 6d9b3ade3051
Branch filter:

Location: kallithea/init.d/rhodecode-daemon3 - annotation

Zachary Auclair
Allowing multiple issue servers to be autolinked in the changeset view;
linking is now contingent on issue_server_link, issue_pat and issue_prefix
being defined; multiple servers can be used by specifying a common suffix on all
the above variables, ie ..

issue_server_link_1
issue_pat_1
issue_prefix_1

.. and ..

issue_server_link_other
issue_pat_other
issue_prefix_other

.. would be treated as two distinct servers, but ..

issue_pat_thing

.. would be ignored (since the other two requisite vars aren't present).

This patch is backwards compatible with existing variables (as a suffix
isn't needed).
238b2805851f
a7bee2a5de67
a7bee2a5de67
a7bee2a5de67
a7bee2a5de67
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
238b2805851f
#!/bin/sh
########################################
#### THIS IS A REDHAT INIT.D SCRIPT ####
########################################

##################################################
#
# RhodeCode server startup script
# Recommended default-startup: 2 3 4 5
# Recommended default-stop: 0 1 6
#
##################################################


APP_NAME="rhodecode"
# the location of your app
# since this is a web app, it should go in /var/www
APP_PATH="/var/www/$APP_NAME"

CONF_NAME="production.ini"

# write to wherever the PID should be stored, just ensure
# that the user you run paster as has the appropriate permissions
# same goes for the log file
PID_PATH="/var/run/rhodecode/pid"
LOG_PATH="/var/log/rhodecode/rhodecode.log"

# replace this with the path to the virtual environment you
# made for RhodeCode
PYTHON_PATH="/opt/python_virtualenvironments/rhodecode-venv"

RUN_AS="rhodecode"

DAEMON="$PYTHON_PATH/bin/paster"

DAEMON_OPTS="serve --daemon \
    --user=$RUN_AS \
    --group=$RUN_AS \
    --pid-file=$PID_PATH \
    --log-file=$LOG_PATH $APP_PATH/$CONF_NAME"

DESC="rhodecode-server"
LOCK_FILE="/var/lock/subsys/$APP_NAME"

# source CentOS init functions
. /etc/init.d/functions

RETVAL=0

remove_pid () {
  rm -f ${PID_PATH}
  rmdir `dirname ${PID_PATH}`
}

ensure_pid_dir () {
  PID_DIR=`dirname ${PID_PATH}`
  if [ ! -d ${PID_DIR} ] ; then
    mkdir -p ${PID_DIR}
    chown -R ${RUN_AS}:${RUN_AS} ${PID_DIR}
    chmod 755 ${PID_DIR}
  fi
}

start_rhodecode () {
    ensure_pid_dir
    PYTHON_EGG_CACHE="/tmp" daemon --pidfile $PID_PATH \
        --user $RUN_AS "$DAEMON $DAEMON_OPTS"
    RETVAL=$?
    [ $RETVAL -eq 0 ] && touch $LOCK_FILE
    return $RETVAL
}

stop_rhodecode () {
    if [ -e $LOCK_FILE ]; then
      killproc -p $PID_PATH
      RETVAL=$?
      rm -f $LOCK_FILE
      rm -f $PID_PATH
    else
      RETVAL=1
    fi
    return $RETVAL
}

status_rhodecode() {
  if [ -e $LOCK_FILE ]; then
    # exit with non-zero to indicate failure
    RETVAL=1
  else
    RETVAL=0
  fi
  return $RETVAL
}

restart_rhodecode () {
    stop_rhodecode
    start_rhodecode
    RETVAL=$?
}

case "$1" in
  start)
    echo -n $"Starting $DESC: "
    start_rhodecode
    echo
    ;;
  stop)
    echo -n $"Stopping $DESC: "
    stop_rhodecode
    echo
    ;;
  status)
    status_rhodecode
    RETVAL=$?
    if [ ! $RETVAL -eq 0 ]; then
      echo "RhodeCode server is running..."
    else
      echo "RhodeCode server is stopped."
    fi
    ;;
  restart)
    echo -n $"Restarting $DESC: "
    restart_rhodecode
    echo
    ;;
  *)
    echo $"Usage: $0 {start|stop|restart|status}"
    RETVAL=1
    ;;
esac

exit $RETVAL