Files
openshift-celery-cartridge/bin/control
T
2015-04-21 09:28:46 +12:00

81 lines
2.8 KiB
Bash
Executable File

#!/bin/bash -e
source $OPENSHIFT_CARTRIDGE_SDK_BASH
function start {
LOGPIPE=${OPENSHIFT_HOMEDIR}/app-root/runtime/logshifter-python
rm -f $LOGPIPE && mkfifo $LOGPIPE
/usr/bin/logshifter -tag python < $LOGPIPE &
PYTHONPATH=$OPENSHIFT_DATA_DIR:$OPENSHIFT_DATA_DIR/config/:$OPENSHIFT_REPO_DIR/.openshift:$OPENSHIFT_REPO_DIR/config:$OPENSHIFT_REPO_DIR/EXT:$OPENSHIFT_REPO_DIR/wsgi::$OPENSHIFT_CELERY_DIR/conf.d:$OPENSHIFT_REPO_DIR:$PYTHONPATH
echo "Starting Celery"
#echo "nohup nice -n 10 ${OPENSHIFT_CELERY_DIR}usr/celery multi start worker --config=${OPENSHIFT_CELERY_CONFIG=celeryconfig} --loglevel=DEBUG --hostname=$OPENSHIFT_APP_DNS --pidfile=${OPENSHIFT_CELERY_DIR}etc/celeryd.pid --logfile=${OPENSHIFT_HOMEDIR}app-root/logs/celery_log.txt &> $LOGPIPE &" > ${OPENSHIFT_LOG_DIR}celery_log.txt
nohup nice -n 10 ${OPENSHIFT_CELERY_DIR}usr/celery multi start worker --config=${OPENSHIFT_CELERY_CONFIG=celeryconfig} --loglevel=DEBUG --hostname=$OPENSHIFT_APP_DNS --pidfile=${OPENSHIFT_CELERY_DIR}etc/celeryd.pid --logfile=${OPENSHIFT_LOG_DIR}celery_log.txt &> $LOGPIPE &
if ps -p `cat ${OPENSHIFT_CELERY_DIR}etc/celeryd.pid` > /dev/null;
then
echo "Starting celery worked"
else
echo "Starting celery failed"
fi
}
function stop {
celery multi stop worker --pidfile=${OPENSHIFT_CELERY_DIR}etc/celeryd.pid
if ps -p `cat ${OPENSHIFT_CELERY_DIR}etc/celeryd.pid` > /dev/null;
then
kill -9 `cat ${OPENSHIFT_CELERY_DIR}etc/celeryd.pid`
rm -f ${OPENSHIFT_CELERY_DIR}etc/celeryd.pid
else
echo "nothing to kill"
fi
echo "stopped"
}
function restart {
celery multi restart worker --config=${OPENSHIFT_CELERY_CONFIG=celeryconfig} --loglevel=DEBUG --hostname=$OPENSHIFT_APP_DNS --pidfile=${OPENSHIFT_CELERY_DIR}etc/celeryd.pid --logfile=${OPENSHIFT_LOG_DIR}celery_log.txt
echo "Restarted celery"
}
function status() {
pid=`cat ${OPENSHIFT_CELERY_DIR}etc/celeryd.pid`
PROCESS_COUNT=$(ps -ef | grep "${PROCESS_NAME}" | grep -v "grep" | wc -l)
client_result $pwd
if [ -f $pid ] && ( kill -0 $(cat $pid) ); then
client_result "Celery is running at pid:${pid}, $PROCESS_COUNT instances of celery"
else
client_result "Celery is not running"
fi
}
function catchall {
echo "not yet implemented"
}
# Ensure arguments.
if ! [ $# -gt 0 ]; then
echo "Usage: $0 [start|restart|stop|status]"
exit 1
fi
# Source utility functions.
source $OPENSHIFT_CARTRIDGE_SDK_BASH
case "$1" in
start) start ;;
stop) stop ;;
restart) restart ;;
status) status ;;
reload) catchall ;;
tidy) catchall ;;
pre-build) catchall ;;
build) catchall ;;
deploy) catchall ;;
post-deploy) catchall ;;
*) exit 0
esac
exit 0