Files
@ b61824e61e68
Branch filter:
Location: kallithea/init.d/rhodecode-daemon2 - annotation
b61824e61e68
1.5 KiB
text/plain
Don't cache dulwich Repos, in pararell multithreaded evniroment dulwich pack file openers
can break badly. We need to create Repo() objects always for each call, even when it's
taken from cache.
Fixed issue with dulwich filedescriptor leak ref #573
can break badly. We need to create Repo() objects always for each call, even when it's
taken from cache.
Fixed issue with dulwich filedescriptor leak ref #573
2642f128ad46 2642f128ad46 238bea955b54 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 238bea955b54 238bea955b54 238bea955b54 238bea955b54 238bea955b54 2642f128ad46 238bea955b54 238bea955b54 238bea955b54 238bea955b54 238bea955b54 238bea955b54 238bea955b54 238bea955b54 238bea955b54 238bea955b54 238bea955b54 238bea955b54 238bea955b54 238bea955b54 238bea955b54 238bea955b54 238bea955b54 238bea955b54 238bea955b54 2642f128ad46 2642f128ad46 2642f128ad46 238bea955b54 2642f128ad46 2642f128ad46 238bea955b54 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 238bea955b54 238bea955b54 2642f128ad46 238bea955b54 2642f128ad46 2642f128ad46 2642f128ad46 2642f128ad46 238bea955b54 | #!/bin/sh -e
########################################
#### THIS IS A DEBIAN INIT.D SCRIPT ####
########################################
### BEGIN INIT INFO
# Provides: rhodecode
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts instance of rhodecode
# Description: starts instance of rhodecode using start-stop-daemon
### END INIT INFO
APP_NAME="rhodecode"
APP_HOMEDIR="marcink/python_workspace"
APP_PATH="/home/$APP_HOMEDIR/$APP_NAME"
CONF_NAME="production.ini"
PID_PATH="$APP_PATH/$APP_NAME.pid"
LOG_PATH="$APP_PATH/$APP_NAME.log"
PYTHON_PATH="/home/$APP_HOMEDIR/v-env"
RUN_AS="marcink"
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"
start() {
echo "Starting $APP_NAME"
PYTHON_EGG_CACHE="/tmp" start-stop-daemon -d $APP_PATH \
--start --quiet \
--pidfile $PID_PATH \
--user $RUN_AS \
--exec $DAEMON -- $DAEMON_OPTS
}
stop() {
echo "Stopping $APP_NAME"
start-stop-daemon -d $APP_PATH \
--stop --quiet \
--pidfile $PID_PATH || echo "$APP_NAME - Not running!"
if [ -f $PID_PATH ]; then
rm $PID_PATH
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
echo "Restarting $APP_NAME"
### stop ###
stop
wait
### start ###
start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
|