|
@@ -0,0 +1,152 @@
|
|
|
+#! /bin/sh
|
|
|
+#
|
|
|
+# chkconfig: - 55 45
|
|
|
+# description: Celery worker daemon
|
|
|
+# processname: celeryd
|
|
|
+# config: /etc/sysconfig/celeryd
|
|
|
+# pidfile: /var/run/celeryd.pid
|
|
|
+#
|
|
|
+# To configure celeryd you probably need to tell it where to chdir.
|
|
|
+#
|
|
|
+# EXAMPLE CONFIGURATION
|
|
|
+# =====================
|
|
|
+#
|
|
|
+# this is an example configuration for a Python project:
|
|
|
+#
|
|
|
+# /etc/sysconfig/celeryd:
|
|
|
+#
|
|
|
+# # Where to chdir at start.
|
|
|
+# CELERYD_CHDIR="/opt/Myproject/"
|
|
|
+#
|
|
|
+# # Extra arguments to celeryd
|
|
|
+# CELERYD_OPTS="--time-limit 300"
|
|
|
+#
|
|
|
+# # Name of the celery config module.#
|
|
|
+# CELERY_CONFIG_MODULE="celeryconfig"
|
|
|
+#
|
|
|
+# EXAMPLE DJANGO CONFIGURATION
|
|
|
+# ============================
|
|
|
+#
|
|
|
+# # Where the Django project is.
|
|
|
+# CELERYD_CHDIR="/opt/Project/"
|
|
|
+#
|
|
|
+# # Name of the projects settings module.
|
|
|
+# DJANGO_SETTINGS_MODULE="settings"
|
|
|
+#
|
|
|
+# # Path to celeryd
|
|
|
+# CELERYD="/opt/Project/manage.py"
|
|
|
+#
|
|
|
+# # Extra arguments to manage.py
|
|
|
+# CELERYD_OPTS="celeryd"
|
|
|
+#
|
|
|
+# AVAILABLE OPTIONS
|
|
|
+# =================
|
|
|
+#
|
|
|
+# * CELERYD_OPTS
|
|
|
+# Additional arguments to celeryd, see `celeryd --help` for a list.
|
|
|
+#
|
|
|
+# * CELERYD_CHDIR
|
|
|
+# Path to chdir at start. Default is to stay in the current directory.
|
|
|
+#
|
|
|
+# * CELERYD_PID_FILE
|
|
|
+# Full path to the pidfile. Default is /var/run/celeryd.pid.
|
|
|
+#
|
|
|
+# * CELERYD_LOG_FILE
|
|
|
+# Full path to the celeryd logfile. Default is /var/log/celeryd.log
|
|
|
+#
|
|
|
+# * CELERYD_LOG_LEVEL
|
|
|
+# Log level to use for celeryd. Default is INFO.
|
|
|
+#
|
|
|
+# * CELERYD
|
|
|
+# Path to the celeryd program. Default is `celeryd`.
|
|
|
+# You can point this to an virtualenv, or even use manage.py for django.
|
|
|
+#
|
|
|
+# * CELERYD_USER
|
|
|
+# User to run celeryd as. Default is current user.
|
|
|
+#
|
|
|
+# * CELERYD_GROUP
|
|
|
+# Group to run celeryd as. Default is current user.
|
|
|
+#
|
|
|
+# * VIRTUALENV
|
|
|
+# Full path to the virtualenv environment to activate. Default is none.
|
|
|
+#
|
|
|
+# * PYTHONPATH
|
|
|
+# A directory to add to the Python path.
|
|
|
+
|
|
|
+# Source function library.
|
|
|
+. /etc/init.d/functions
|
|
|
+
|
|
|
+if test -f /etc/sysconfig/celeryd; then
|
|
|
+ . /etc/sysconfig/celeryd
|
|
|
+fi
|
|
|
+
|
|
|
+RETVAL=0
|
|
|
+
|
|
|
+DEFAULT_CELERYD="/usr/bin/celeryd"
|
|
|
+CELERYD_LOG_FILE=${CELERYD_LOG_FILE:-${CELERYD_LOGFILE:-"/var/log/celeryd.log"}}
|
|
|
+CELERYD_PID_FILE=${CELERYD_PID_FILE:-${CELERYD_PIDFILE:-"/var/run/celeryd.pid"}}
|
|
|
+CELERYD_LOG_LEVEL=${CELERYD_LOG_LEVEL:-${CELERYD_LOGLEVEL:-"INFO"}}
|
|
|
+CELERYD_USER=${CELERYD_USER:-${CELERYD_USER:-"celeryd"}}
|
|
|
+
|
|
|
+CELERYD=${CELERYD:-$DEFAULT_CELERYD}
|
|
|
+
|
|
|
+export CELERY_LOADER
|
|
|
+
|
|
|
+CELERYD_OPTS="$CELERYD_OPTS -f $CELERYD_LOG_FILE -l $CELERYD_LOG_LEVEL --pidfile=$CELERYD_PID_FILE"
|
|
|
+
|
|
|
+if [ -n "$2" ]; then
|
|
|
+ CELERYD_OPTS="$CELERYD_OPTS $2"
|
|
|
+fi
|
|
|
+
|
|
|
+# Append the Django settings module to use, if specified
|
|
|
+if [ -n "$DJANGO_SETTINGS_MODULE" ]; then
|
|
|
+ CELERYD_OPTS="$CELERYD_OPTS --settings=$DJANGO_SETTINGS_MODULE"
|
|
|
+fi
|
|
|
+
|
|
|
+start_worker () {
|
|
|
+ echo -n $"Starting deleryd: "
|
|
|
+ daemon --pidfile=$CELERYD_PID_FILE --user=$CELERYD_USER \
|
|
|
+ PYTHONPATH=$PYTHONPATH:$CELERY_PYTHONPATH $CELERYD $CELERYD_OPTS 2>/dev/null &
|
|
|
+ RETVAL=$?
|
|
|
+ sleep 3; echo
|
|
|
+ if [ -n "$VIRTUALENV" ]; then
|
|
|
+ source $VIRTUALENV/bin/activate
|
|
|
+ fi
|
|
|
+ [ $RETVAL -eq 0 ] && touch /var/lock/subsys/celeryd
|
|
|
+}
|
|
|
+
|
|
|
+stop_worker () {
|
|
|
+ echo -n $"Stopping celeryd: "
|
|
|
+ killproc -p $CELERYD_PID_FILE $CELERYD 2>/dev/null
|
|
|
+ RETVAL=$?
|
|
|
+ sleep 3; echo
|
|
|
+ if [ $RETVAL -eq 0 ]; then
|
|
|
+ rm -f /var/lock/subsys/celeryd
|
|
|
+ rm -f $CELERYD_PID_FILE
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+case "$1" in
|
|
|
+ start)
|
|
|
+ start_worker
|
|
|
+ ;;
|
|
|
+
|
|
|
+ stop)
|
|
|
+ stop_worker
|
|
|
+ ;;
|
|
|
+
|
|
|
+ restart)
|
|
|
+ stop_worker
|
|
|
+ start_worker
|
|
|
+ ;;
|
|
|
+
|
|
|
+ status)
|
|
|
+ status celeryd
|
|
|
+ ;;
|
|
|
+
|
|
|
+ *)
|
|
|
+ echoi $"Usage: $0 {start|stop|restart|status}"
|
|
|
+ exit 1
|
|
|
+esac
|
|
|
+
|
|
|
+exit $?
|