2 # ============================================
3 # celeryd - Starts the Celery worker daemon.
4 # ============================================
6 # :Usage: /etc/init.d/celeryd {start|stop|force-reload|restart|try-restart|status}
7 # :Configuration file: /etc/default/celeryd
9 # See http://docs.celeryq.org/en/latest/cookbook/daemonizing.html#init-script-celeryd
14 # Required-Start: $network $local_fs $remote_fs
15 # Required-Stop: $network $local_fs $remote_fs
16 # Default-Start: 2 3 4 5
18 # Short-Description: celery task worker daemon
23 DEFAULT_PID_FILE="/var/run/celeryd@%n.pid"
24 DEFAULT_LOG_FILE="/var/log/celeryd@%n.log"
25 DEFAULT_LOG_LEVEL="INFO"
26 DEFAULT_NODES="celery"
27 DEFAULT_CELERYD="-m celery.bin.celeryd_detach"
29 # /etc/init.d/celeryd: start and stop the celery task worker daemon.
31 CELERY_DEFAULTS=${CELERY_DEFAULTS:-"/etc/default/celeryd"}
33 test -f "$CELERY_DEFAULTS" && . "$CELERY_DEFAULTS"
34 if [ -f "/etc/default/celeryd" ]; then
35 . /etc/default/celeryd
38 CELERYD_PID_FILE=${CELERYD_PID_FILE:-${CELERYD_PIDFILE:-$DEFAULT_PID_FILE}}
39 CELERYD_LOG_FILE=${CELERYD_LOG_FILE:-${CELERYD_LOGFILE:-$DEFAULT_LOG_FILE}}
40 CELERYD_LOG_LEVEL=${CELERYD_LOG_LEVEL:-${CELERYD_LOGLEVEL:-$DEFAULT_LOG_LEVEL}}
41 CELERYD_MULTI=${CELERYD_MULTI:-"celeryd-multi"}
42 CELERYD=${CELERYD:-$DEFAULT_CELERYD}
43 CELERYCTL=${CELERYCTL:="celeryctl"}
44 CELERYD_NODES=${CELERYD_NODES:-$DEFAULT_NODES}
49 CELERYD_OPTS="$CELERYD_OPTS $2"
52 CELERYD_LOG_DIR=`dirname $CELERYD_LOG_FILE`
53 CELERYD_PID_DIR=`dirname $CELERYD_PID_FILE`
54 if [ ! -d "$CELERYD_LOG_DIR" ]; then
55 mkdir -p $CELERYD_LOG_DIR
57 if [ ! -d "$CELERYD_PID_DIR" ]; then
58 mkdir -p $CELERYD_PID_DIR
61 # Extra start-stop-daemon options, like user/group.
62 if [ -n "$CELERYD_USER" ]; then
63 DAEMON_OPTS="$DAEMON_OPTS --uid=$CELERYD_USER"
64 chown "$CELERYD_USER" $CELERYD_LOG_DIR $CELERYD_PID_DIR
66 if [ -n "$CELERYD_GROUP" ]; then
67 DAEMON_OPTS="$DAEMON_OPTS --gid=$CELERYD_GROUP"
68 chgrp "$CELERYD_GROUP" $CELERYD_LOG_DIR $CELERYD_PID_DIR
71 if [ -n "$CELERYD_CHDIR" ]; then
72 DAEMON_OPTS="$DAEMON_OPTS --workdir=\"$CELERYD_CHDIR\""
77 if [ ! -c /dev/null ]; then
78 echo "/dev/null is not a character device!"
84 export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
88 $CELERYD_MULTI stop $CELERYD_NODES --pidfile="$CELERYD_PID_FILE"
93 $CELERYD_MULTI start $CELERYD_NODES $DAEMON_OPTS \
94 --pidfile="$CELERYD_PID_FILE" \
95 --logfile="$CELERYD_LOG_FILE" \
96 --loglevel="$CELERYD_LOG_LEVEL" \
103 $CELERYD_MULTI restart $CELERYD_NODES $DAEMON_OPTS \
104 --pidfile="$CELERYD_PID_FILE" \
105 --logfile="$CELERYD_LOG_FILE" \
106 --loglevel="$CELERYD_LOG_LEVEL" \
129 $CELERYCTL status $CELERYCTL_OPTS
143 echo "Usage: /etc/init.d/celeryd {start|stop|restart|try-restart|kill}"