idella4 14/04/09 10:52:50 Added: celery.confd-r1 celery.initd-r1 Log: bump; add IUSE redis, optional flag for tests, py3 support, update test phase, new initd and confd files submitted by S. Talpalru in Bug #505492, initially masked for further testing (Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key 0xB8072B0D)
Revision Changes Path 1.1 dev-python/celery/files/celery.confd-r1 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/celery/files/celery.confd-r1?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/celery/files/celery.confd-r1?rev=1.1&content-type=text/plain Index: celery.confd-r1 =================================================================== # /etc/conf.d/celery ############################################################################## # GLOBAL CONFIGURATION # User and group #CELERY_USER="celery" #CELERY_GROUP="celery" # This is generaly a good idea to set the environment correctly # because a lot of python package try to use HOME on init #export HOME="/var/lib/myproject" # Full path to the python project directory. #CELERY_PROJDIR="/var/lib/myproject" ############################################################################## # CELERYD #CELERYD_ENABLED="yes" # celeryd notes #CELERYD_NODES="celery" # celeryd options # Example: set a 5 minute hard time limit for tasks, disable queue process prefetching and specify an app module from CELERY_PROJDIR #CELERYD_OPTS="--time-limit=300 -Ofair -A celeryapp" # Location and level of the celeryd log file #CELERYD_LOG_FILE=/var/log/celery/celeryd@%n.log #CELERYD_LOG_LEVEL="INFO" # Location of the celeryd pid file #CELERYD_PID_FILE=/var/run/celery/celeryd@%n.pid ############################################################################## # CELERYBEAT #CELERYBEAT_ENABLED="yes" # celerybeat options #CELERYBEAT_OPTS="" # Location and level of the celerybeat log file #CELERYBEAT_LOG_FILE=/var/log/celery/celerybeat.log #CELERYBEAT_LOG_LEVEL="INFO" # Location of the celerybeat pid file #CELERYBEAT_PID_FILE=/var/run/celery/celerybeat.pid 1.1 dev-python/celery/files/celery.initd-r1 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/celery/files/celery.initd-r1?rev=1.1&view=markup plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-python/celery/files/celery.initd-r1?rev=1.1&content-type=text/plain Index: celery.initd-r1 =================================================================== #!/sbin/runscript # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the BSD license # $Header: /var/cvsroot/gentoo-x86/dev-python/celery/files/celery.initd-r1,v 1.1 2014/04/09 10:52:50 idella4 Exp $ extra_started_commands="reload" depend() { need net use rabbitmq redis logger dns } CELERYD_ENABLED=${CELERYD_ENABLED:-"no"} CELERYD_PID_FILE=${CELERYD_PID_FILE:-"/var/run/celery/celeryd@%n.pid"} CELERYD_LOG_FILE=${CELERYD_LOG_FILE:-"/var/log/celery/celeryd@%n.log"} CELERYD_LOG_LEVEL=${CELERYD_LOG_LEVEL:-"INFO"} CELERYD_NODES=${CELERYD_NODES:-"celery"} CELERYBEAT_ENABLED=${CELERYBEAT_ENABLED:-"no"} CELERYBEAT_PID_FILE=${CELERYBEAT_PID_FILE:-"/var/run/celery/celerybeat.pid"} CELERYBEAT_LOG_FILE=${CELERYBEAT_LOG_FILE:-"/var/log/celery/celerybeat.log"} CELERYBEAT_LOG_LEVEL=${CELERYBEAT_LOG_LEVEL:-"INFO"} export CELERY_LOADER CELERYD_MULTI=${CELERYD_MULTI:-"celery multi"} CELERYCTL=${CELERYCTL:-"celery"} CELERYBEAT=${CELERYBEAT:-"celery beat"} CELERYD_OPTS="$CELERYD_OPTS" CELERYBEAT_OPTS="$CELERYBEAT_OPTS -f $CELERYBEAT_LOG_FILE -l $CELERYBEAT_LOG_LEVEL" create_dirs() { local logfile="$1" local pidfile="$2" local logdir=$(dirname $logfile) local piddir=$(dirname $pidfile) checkpath -d -q -m 0750 -o ${CELERY_USER:-"root"}:${CELERY_GROUP:-"root"} $logdir $piddir } if [ -n "$CELERY_USER" ]; then DAEMON_OPTS="$DAEMON_OPTS --uid=$CELERY_USER" fi if [ -n "$CELERY_GROUP" ]; then DAEMON_OPTS="$DAEMON_OPTS --gid=$CELERY_GROUP" fi checkconfig() { if [ ! -c /dev/null ]; then eerror "/dev/null is not a character device!" return 1 fi if [ -z "$CELERY_PROJDIR" ]; then eerror "Missing CELERY_PROJDIR variable" return 1 fi if yesno "$CELERYD_ENABLED"; then create_dirs "$CELERYD_LOG_FILE" "$CELERYD_PID_FILE" fi if yesno "$CELERYBEAT_ENABLED"; then create_dirs "$CELERYBEAT_LOG_FILE" "$CELERYBEAT_PID_FILE" fi return 0 } celery_chdir() { if [ -n "$CELERY_PROJDIR" ]; then cd "$CELERY_PROJDIR" fi } wait_pid () { local pidfile=$1 local timeout=${STOPTIMEOUT:-"10"} local PID=$(cat "${pidfile}" 2>/dev/null) while [[ -n "$PID" && "${timeout}" -ge 1 ]] ; do kill -0 $PID 2>/dev/null || break kill -TERM "$PID" timeout=$(($timeout - 1)) sleep 0.5 done [[ "${timeout}" -lt 1 ]] && return 1 [ -f $pidfile ] && rm -f $pidfile return 0 } # celeryd start_workers() { yesno "${CELERYD_ENABLED}" || return 0 $CELERYD_MULTI start $CELERYD_NODES $DAEMON_OPTS \ --pidfile="$CELERYD_PID_FILE" \ --logfile="$CELERYD_LOG_FILE" \ --loglevel="$CELERYD_LOG_LEVEL" \ $CELERYD_OPTS } stop_workers() { yesno "${CELERYD_ENABLED}" || return 0 local timeout=${STOPTIMEOUT:-"10"} $CELERYD_MULTI stop $CELERYD_NODES --pidfile="$CELERYD_PID_FILE" || return 1 # Wait for each node for node in $CELERYD_NODES; do local pidfile=${CELERYD_PID_FILE/\%n/$node} local PID=$(cat "${pidfile}" 2>/dev/null) while [[ -n "$PID" && "${timeout}" -ge 1 ]] ; do kill -0 $PID 2>/dev/null || break timeout=$(($timeout - 1)) sleep 0.5 done done [[ "${timeout}" -lt 1 ]] && return 1 return 0 } restart_workers() { yesno "${CELERYD_ENABLED}" || return 0 $CELERYD_MULTI restart $CELERYD_NODES $DAEMON_OPTS \ --pidfile="$CELERYD_PID_FILE" \ --logfile="$CELERYD_LOG_FILE" \ --loglevel="$CELERYD_LOG_LEVEL" \ $CELERYD_OPTS } # celerybeat start_beat() { yesno "${CELERYBEAT_ENABLED}" || return 0 ebegin "Starting celerybeat" $CELERYBEAT $CELERYBEAT_OPTS $DAEMON_OPTS --detach \ --pidfile="$CELERYBEAT_PID_FILE" eend $? } stop_beat() { yesno "${CELERYBEAT_ENABLED}" || return 0 ebegin "Stopping celerybeat" if [ -f "$CELERYBEAT_PID_FILE" ]; then wait_pid "$CELERYBEAT_PID_FILE" else ewarn "not running" fi eend $? } start() { local cr=0 checkconfig || return 1 ebegin "Starting ${SVCNAME}" eindent celery_chdir && \ start_workers && \ start_beat || cr=1 eoutdent eend $cr } stop() { local cr=0 checkconfig || return 1 ebegin "Stopping ${SVCNAME}" eindent celery_chdir stop_workers || cr=1 stop_beat || cr=1 eoutdent eend $cr } reload() { local cr=0 checkconfig || return 1 ebegin "Restarting ${SVCNAME}" eindent celery_chdir restart_workers || cr=1 stop_beat && start_beat || cr=1 eoutdent eend $cr } status() { checkconfig || return 1 celery_chdir && \ ${CELERYCTL} status }
