| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152 | #!/bin/sh### BEGIN INIT INFO# Provides:		celeryd# Required-Start:	# Required-Stop:	# Default-Start:	2 3 4 5# Default-Stop:		1# 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 -eDJANGO_SETTINGS_MODULE=settingsCELERYD_PID_FILE="/var/run/celeryd.pid"CELERYD_LOG_FILE="/var/log/celeryd.log"CELERYD_LOG_LEVEL="INFO"DEFAULT_CELERYD="celeryd"# /etc/init.d/ssh: start and stop the celery task worker daemon.if test -f /etc/default/celeryd; then    . /etc/default/celerydfiexport DJANGO_SETTINGS_MODULEexport DJANGO_PROJECT_DIRif [ -z "$CELERYD" ]; then    if [ ! -z "$DJANGO_PROJECT_DIR" ]; then        CELERYD="$DJANGO_PROJECT_DIR/manage.py"        CELERYD_OPTS="celeryd"    else        CELERYD=$DEFAULT_CELERYD    fifi. /lib/lsb/init-functionscd $DJANGO_PROJECT_DIRCELERYD_OPTS="$CELERYD_OPTS -f $CELERYD_LOG_FILE -l $CELERYD_LOG_LEVEL"if [ -n "$2" ]; then    CELERYD_OPTS="$CELERYD_OPTS $2"fi# Are we running from init?run_by_init() {    ([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ]}check_dev_null() {    if [ ! -c /dev/null ]; then	if [ "$1" = log_end_msg ]; then	    log_end_msg 1 || true	fi	if ! run_by_init; then	    log_action_msg "/dev/null is not a character device!"	fi	exit 1    fi}export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"if [ ! -z "$VIRTUALENV" ]; then    export PATH="$VIRTUALENV/bin:$PATH"    CELERYD="$VIRTUALENV/bin/$CELERYD"ficase "$1" in  start)    check_dev_null    log_daemon_msg "Starting celery task worker server" "celeryd"    if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --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    ;;  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 --background --make-pidfile --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)		# old daemon stopped		check_dev_null log_end_msg		if start-stop-daemon --start --quiet --oknodo --background --make-pidfile --pidfile $CELERYD_PID_FILE --exec $CELERYD -- $CELERYD_OPTS; then		    log_end_msg 0		else		    log_end_msg 1		fi		;;	    1)		# daemon not running		log_progress_msg "(not running)"		log_end_msg 0		;;	    *)		# failed to stop		log_progress_msg "(failed to stop)"		log_end_msg 1		;;	esac	;;  status)	status_of_proc -p $CELERYD_PID_FILE $CELERYD celeryd && exit 0 || exit $?	;;  *)	log_action_msg "Usage: /etc/init.d/celeryd {start|stop|force-reload|restart|try-restart|status}"	exit 1esacexit 0
 |