|  | @@ -0,0 +1,141 @@
 | 
	
		
			
				|  |  | +#! /bin/sh
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +### BEGIN INIT INFO
 | 
	
		
			
				|  |  | +# Provides:		celerybeat
 | 
	
		
			
				|  |  | +# Required-Start:	
 | 
	
		
			
				|  |  | +# Required-Stop:	
 | 
	
		
			
				|  |  | +# Default-Start:	2 3 4 5
 | 
	
		
			
				|  |  | +# Default-Stop:		1
 | 
	
		
			
				|  |  | +# Short-Description:	celery clock service
 | 
	
		
			
				|  |  | +### END INIT INFO
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +set -e
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +VIRTUALENV=/opt/Opal/current
 | 
	
		
			
				|  |  | +DJANGO_PROJECT_DIR=/opt/Opal/release/opal
 | 
	
		
			
				|  |  | +DJANGO_SETTINGS_MODULE=settings
 | 
	
		
			
				|  |  | +CELERYBEAT_PID_FILE="/var/run/celerybeat.pid"
 | 
	
		
			
				|  |  | +CELERYBEAT_LOG_FILE="/var/log/celerybeat.log"
 | 
	
		
			
				|  |  | +CELERYBEAT_LOG_LEVEL="INFO"
 | 
	
		
			
				|  |  | +CELERYBEAT="celerybeat"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +export DJANGO_SETTINGS_MODULE
 | 
	
		
			
				|  |  | +export DJANGO_PROJECT_DIR
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +# /etc/init.d/ssh: start and stop the celery clock server
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +if test -f /etc/default/celerybeat; then
 | 
	
		
			
				|  |  | +    . /etc/default/celerybeat
 | 
	
		
			
				|  |  | +fi
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +. /lib/lsb/init-functions
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +cd $DJANGO_PROJECT_DIR
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +CELERYBEAT_OPTS="-f $CELERYBEAT_LOG_FILE -l $CELERYBEAT_LOG_LEVEL -p \
 | 
	
		
			
				|  |  | +                    $CELERYBEAT_PID_FILE -d"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +if [ -n "$2" ]; then
 | 
	
		
			
				|  |  | +    CELERYBEAT_OPTS="$CELERYBEAT_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
 | 
	
		
			
				|  |  | +    . "$VIRTUALENV/bin/activate"
 | 
	
		
			
				|  |  | +    export PATH="$VIRTUALENV/bin:$PATH"
 | 
	
		
			
				|  |  | +    CELERYBEAT="$VIRTUALENV/bin/$CELERYBEAT"
 | 
	
		
			
				|  |  | +fi
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +case "$1" in
 | 
	
		
			
				|  |  | +  start)
 | 
	
		
			
				|  |  | +	check_dev_null
 | 
	
		
			
				|  |  | +	log_daemon_msg "Starting celery clock server" "celerybeat"
 | 
	
		
			
				|  |  | +	if start-stop-daemon --start --quiet --oknodo --pidfile $CELERYBEAT_PID_FILE --exec $CELERYBEAT -- $CELERYBEAT_OPTS; then
 | 
	
		
			
				|  |  | +	    log_end_msg 0
 | 
	
		
			
				|  |  | +	else
 | 
	
		
			
				|  |  | +	    log_end_msg 1
 | 
	
		
			
				|  |  | +	fi
 | 
	
		
			
				|  |  | +	;;
 | 
	
		
			
				|  |  | +  stop)
 | 
	
		
			
				|  |  | +	log_daemon_msg "Stopping celery clock server" "celerybeat"
 | 
	
		
			
				|  |  | +	if start-stop-daemon --stop --quiet --oknodo --pidfile $CELERYBEAT_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 clock server" "celerybeat"
 | 
	
		
			
				|  |  | +	start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $CELERYBEAT_PID_FILE
 | 
	
		
			
				|  |  | +	check_dev_null log_end_msg
 | 
	
		
			
				|  |  | +	if start-stop-daemon --start --quiet --oknodo --pidfile $CELERYBEAT_PID_FILE --exec $CELERYBEAT -- $CELERYBEAT_OPTS; then
 | 
	
		
			
				|  |  | +	    log_end_msg 0
 | 
	
		
			
				|  |  | +	else
 | 
	
		
			
				|  |  | +	    log_end_msg 1
 | 
	
		
			
				|  |  | +	fi
 | 
	
		
			
				|  |  | +	;;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  try-restart)
 | 
	
		
			
				|  |  | +	log_daemon_msg "Restarting celery clock server" "celerybeat"
 | 
	
		
			
				|  |  | +	set +e
 | 
	
		
			
				|  |  | +	start-stop-daemon --stop --quiet --retry 30 --pidfile $CELERYBEAT_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 $CELERYBEAT_PID_FILE --exec $CELERYBEAT -- $CELERYBEAT_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 $CELERYBEAT_PID_FILE $CELERYBEAT celerybeat && exit 0 || exit $?
 | 
	
		
			
				|  |  | +	;;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  *)
 | 
	
		
			
				|  |  | +	log_action_msg "Usage: /etc/init.d/celerybeat {start|stop|force-reload|restart|try-restart|status}"
 | 
	
		
			
				|  |  | +	exit 1
 | 
	
		
			
				|  |  | +esac
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exit 0
 |