mirror of
https://github.com/wassname/openshift-celery-cartridge.git
synced 2026-06-27 16:10:05 +08:00
73 lines
2.7 KiB
Bash
Executable File
73 lines
2.7 KiB
Bash
Executable File
#!/bin/bash -e
|
|
|
|
source $OPENSHIFT_CARTRIDGE_SDK_BASH
|
|
|
|
PATH=$OPENSHIFT_DATA_DIR:$OPENSHIFT_DATA_DIR/config/:${OPENSHIFT_CELERY_DIR}bin/:${OPENSHIFT_CELERY_DIR}usr/bin:${OPENSHIFT_CELERY_DIR}conf.d:$PATH
|
|
|
|
#TODO add scaling, better status, variable worker names, stop workers properly
|
|
|
|
function start {
|
|
export PYTHONPATH=$OPENSHIFT_DATA_DIR:$OPENSHIFT_DATA_DIR/config/:$OPENSHIFT_REPO_DIR/.openshift:$OPENSHIFT_REPO_DIR/wsgi::$OPENSHIFT_CELERY_DIR/conf.d:$OPENSHIFT_REPO_DIR:$PYTHONPATH
|
|
PYTHONPATH=$OPENSHIFT_DATA_DIR:$OPENSHIFT_DATA_DIR/config/:$OPENSHIFT_REPO_DIR/.openshift:$OPENSHIFT_REPO_DIR/wsgi::$OPENSHIFT_CELERY_DIR/conf.d:$OPENSHIFT_REPO_DIR:$PYTHONPATH
|
|
echo "Starting Celery, cmd: ${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_APP_ROOT}app-root/logs/celery_log.txt"
|
|
echo `${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_APP_ROOT}app-root/logs/celery_log.txt` > ${OPENSHIFT_APP_ROOT}app-root/logs/celery_log.txt
|
|
${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_APP_ROOT}app-root/logs/celery_log.txt
|
|
}
|
|
|
|
function stop {
|
|
if ps -p `cat ${OPENSHIFT_CELERY_DIR}etc/celeryd.pid` > /dev/null;
|
|
then
|
|
kill -9 `cat ${OPENSHIFT_CELERY_DIR}etc/celeryd.pid`
|
|
else
|
|
echo "nothing to kill"
|
|
fi
|
|
echo "stopped"
|
|
}
|
|
|
|
function restart {
|
|
celery multi restart worker --pidfile=${OPENSHIFT_CELERY_DIR}etc/celeryd.pid
|
|
echo "not yet implemented"
|
|
|
|
}
|
|
|
|
function status() {
|
|
pid=`cat ${OPENSHIFT_CELERY_DIR}etc/celeryd.pid`
|
|
info=`celery multi show worker`
|
|
client_result $pwd
|
|
if [ -f $pid ] && ( kill -0 $(cat $pid) ); then
|
|
client_result "Celery is running ${info} at pid:${pid}"
|
|
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
|