| #!/bin/sh |
| # |
| # slavealloc |
| # |
| # chkconfig: 345 85 15 |
| # description: slave allocator daemon |
| |
| # Source function library. |
| . /etc/rc.d/init.d/functions |
| |
| NAME=production-1080 |
| BASEDIR=/builds/slavealloc/$NAME |
| lockfile=/var/lock/subsys/slavealloc-$NAME |
| pidfile=$BASEDIR/twistd.pid |
| LOGFILE=$BASEDIR/slavealloc.log |
| TACFILE=$BASEDIR/slavealloc.tac |
| USER=slavealloc |
| GROUP=slavealloc |
| VIRTUALENV=/tools/slavealloc |
| |
| start() { |
| [ -x $VIRTUALENV/bin/twistd ] || exit 5 |
| [ -f $TACFILE ] || exit 6 |
| echo -n "starting slavealloc $NAME" |
| cd $BASEDIR # --rundir doesn't work with the customized .tac logging |
| daemon $VIRTUALENV/bin/twistd \ |
| --pidfile=$pidfile \ |
| --rundir=$BASEDIR \ |
| --python=$TACFILE \ |
| --logfile=$LOGFILE \ |
| --uid=$USER \ |
| --gid=$GROUP || echo "FAILED" |
| retval=$? |
| echo |
| [ $retval -eq 0 ] && touch $lockfile |
| return $retval |
| } |
| |
| stop() { |
| echo -n "stopping slavealloc $NAME" |
| kill `cat "${pidfile}"` |
| echo |
| rm -f $lockfile |
| return $retval |
| } |
| |
| restart() { |
| stop && start |
| } |
| |
| reload() { |
| restart |
| } |
| |
| force_reload() { |
| restart |
| } |
| |
| rh_status() { |
| # run checks to determine if the service is running or use generic status |
| if [ -f $pidfile ]; then |
| if kill -0 `cat $pidfile`; then |
| echo "running" |
| return 0 |
| else |
| echo "dead but pidfile remains" |
| return 1 |
| fi |
| else |
| if [ -f $lockfile ]; then |
| echo "dead but lockfile remains" |
| return 2 |
| else |
| echo "not running" |
| return 3 |
| fi |
| fi |
| } |
| |
| rh_status_q() { |
| rh_status >/dev/null 2>&1 |
| } |
| |
| |
| case "$1" in |
| start) |
| rh_status_q && exit 0 |
| $1 |
| ;; |
| stop) |
| rh_status_q || exit 0 |
| $1 |
| ;; |
| restart) |
| $1 |
| ;; |
| reload) |
| rh_status_q || exit 7 |
| $1 |
| ;; |
| force-reload) |
| force_reload |
| ;; |
| status) |
| rh_status |
| ;; |
| condrestart|try-restart) |
| rh_status_q || exit 0 |
| restart |
| ;; |
| *) |
| echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" |
| exit 2 |
| esac |
| exit $? |