|
@@ -1,4 +1,4 @@
|
|
|
-#! /bin/sh
|
|
|
+#!/bin/sh
|
|
|
|
|
|
### BEGIN INIT INFO
|
|
|
# Provides: celeryd
|
|
@@ -9,18 +9,20 @@
|
|
|
# Short-Description: celery task worker daemon
|
|
|
### END INIT INFO
|
|
|
|
|
|
+# To use this with Django set your DJANGO_PROJECT_DIR in /etc/default/celeryd:
|
|
|
+#
|
|
|
+# echo "DJANGO_PROJECT_DIR=/opt/Myapp" > /etc/default/celeryd
|
|
|
+#
|
|
|
+# The django project dir is the directory that contains settings and
|
|
|
+# manage.py.
|
|
|
+
|
|
|
set -e
|
|
|
|
|
|
-VIRTUALENV=/opt/Opal/current
|
|
|
-DJANGO_PROJECT_DIR=/opt/Opal/release/opal
|
|
|
DJANGO_SETTINGS_MODULE=settings
|
|
|
CELERYD_PID_FILE="/var/run/celeryd.pid"
|
|
|
CELERYD_LOG_FILE="/var/log/celeryd.log"
|
|
|
CELERYD_LOG_LEVEL="INFO"
|
|
|
-CELERYD="celeryd"
|
|
|
-
|
|
|
-export DJANGO_SETTINGS_MODULE
|
|
|
-export DJANGO_PROJECT_DIR
|
|
|
+DEFAULT_CELERYD="celeryd"
|
|
|
|
|
|
# /etc/init.d/ssh: start and stop the celery task worker daemon.
|
|
|
|
|
@@ -28,6 +30,17 @@ if test -f /etc/default/celeryd; then
|
|
|
. /etc/default/celeryd
|
|
|
fi
|
|
|
|
|
|
+export DJANGO_SETTINGS_MODULE
|
|
|
+export DJANGO_PROJECT_DIR
|
|
|
+
|
|
|
+if [ -z "$CELERYD" ]; then
|
|
|
+ if [ ! -z "$DJANGO_PROJECT_DIR" ]; then
|
|
|
+ CELERYD="$DJANGO_PROJECT_DIR/manage.py"
|
|
|
+ CELERYD_OPTS="celeryd"
|
|
|
+ else
|
|
|
+ CELERYD=$DEFAULT_CELERYD
|
|
|
+ fi
|
|
|
+fi
|
|
|
|
|
|
. /lib/lsb/init-functions
|
|
|
|
|
@@ -61,7 +74,6 @@ check_dev_null() {
|
|
|
|
|
|
export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
|
|
|
if [ ! -z "$VIRTUALENV" ]; then
|
|
|
- . "$VIRTUALENV/bin/activate"
|
|
|
export PATH="$VIRTUALENV/bin:$PATH"
|
|
|
CELERYD="$VIRTUALENV/bin/$CELERYD"
|
|
|
fi
|
|
@@ -69,45 +81,45 @@ fi
|
|
|
|
|
|
case "$1" in
|
|
|
start)
|
|
|
- check_dev_null
|
|
|
- log_daemon_msg "Starting celery task worker server" "celeryd"
|
|
|
- if start-stop-daemon --start --quiet --oknodo --pidfile $CELERYD_PID_FILE --exec $CELERYD -- $CELERYD_OPTS; then
|
|
|
- log_end_msg 0
|
|
|
- else
|
|
|
- log_end_msg 1
|
|
|
- fi
|
|
|
- ;;
|
|
|
+ check_dev_null
|
|
|
+ log_daemon_msg "Starting celery task worker server" "celeryd"
|
|
|
+ if start-stop-daemon --start --quiet --oknodo --pidfile $CELERYD_PID_FILE --exec $CELERYD -- $CELERYD_OPTS; then
|
|
|
+ log_end_msg 0
|
|
|
+ else
|
|
|
+ log_end_msg 1
|
|
|
+ fi
|
|
|
+ ;;
|
|
|
stop)
|
|
|
- log_daemon_msg "Stopping celery task worker server" "celeryd"
|
|
|
- if start-stop-daemon --stop --quiet --oknodo --pidfile $CELERYD_PID_FILE; then log_end_msg 0
|
|
|
- else
|
|
|
- log_end_msg 1
|
|
|
- fi
|
|
|
- ;;
|
|
|
+ log_daemon_msg "Stopping celery task worker server" "celeryd"
|
|
|
+ if start-stop-daemon --stop --quiet --oknodo --pidfile $CELERYD_PID_FILE; then log_end_msg 0
|
|
|
+ else
|
|
|
+ log_end_msg 1
|
|
|
+ fi
|
|
|
+ ;;
|
|
|
|
|
|
reload|force-reload)
|
|
|
echo "Use start+stop"
|
|
|
- ;;
|
|
|
+ ;;
|
|
|
|
|
|
restart)
|
|
|
- log_daemon_msg "Restarting celery task worker server" "celeryd"
|
|
|
- start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $CELERYD_PID_FILE
|
|
|
- check_dev_null log_end_msg
|
|
|
- if start-stop-daemon --start --quiet --oknodo --pidfile $CELERYD_PID_FILE --exec $CELERYD -- $CELERYD_OPTS; then
|
|
|
- log_end_msg 0
|
|
|
- else
|
|
|
- log_end_msg 1
|
|
|
- fi
|
|
|
- ;;
|
|
|
+ log_daemon_msg "Restarting celery task worker server" "celeryd"
|
|
|
+ start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $CELERYD_PID_FILE
|
|
|
+ check_dev_null log_end_msg
|
|
|
+ if start-stop-daemon --start --quiet --oknodo --pidfile $CELERYD_PID_FILE --exec $CELERYD -- $CELERYD_OPTS; then
|
|
|
+ log_end_msg 0
|
|
|
+ else
|
|
|
+ log_end_msg 1
|
|
|
+ fi
|
|
|
+ ;;
|
|
|
|
|
|
try-restart)
|
|
|
- log_daemon_msg "Restarting celery task worker server" "celeryd"
|
|
|
- set +e
|
|
|
- start-stop-daemon --stop --quiet --retry 30 --pidfile $CELERYD_PID_FILE
|
|
|
- RET="$?"
|
|
|
- set -e
|
|
|
- case $RET in
|
|
|
- 0)
|
|
|
+ log_daemon_msg "Restarting celery task worker server" "celeryd"
|
|
|
+ set +e
|
|
|
+ start-stop-daemon --stop --quiet --retry 30 --pidfile $CELERYD_PID_FILE
|
|
|
+ RET="$?"
|
|
|
+ set -e
|
|
|
+ case $RET in
|
|
|
+ 0)
|
|
|
# old daemon stopped
|
|
|
check_dev_null log_end_msg
|
|
|
if start-stop-daemon --start --quiet --oknodo --pidfile $CELERYD_PID_FILE --exec $CELERYD -- $CELERYD_OPTS; then
|