bugzilla-queue.rhel 2.62 KB
Newer Older
1
#!/bin/bash
2 3 4 5 6 7 8 9
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.


10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
# bugzilla-queue This starts, stops, and restarts the Bugzilla jobqueue.pl
#		 daemon, which manages sending queued mail and possibly
#		 other queued tasks in the future.
#
# chkconfig: 345 85 15
# description: Bugzilla queue runner
#
### BEGIN INIT INFO
# Provides: bugzilla-queue
# Required-Start: $local_fs $syslog MTA mysqld
# Required-Stop: $local_fs $syslog MTA mysqld
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: Start and stop the Bugzilla queue runner.
# Description: The Bugzilla queue runner (jobqueue.pl) sends any mail
#	that Bugzilla has queued to be sent in the background. If you
#	have enabled the use_mailer_queue parameter in Bugzilla, you
#	must run this daemon.
### END INIT INFO

NAME=`basename $0`

#################
# Configuration #
#################

# This should be the path to your Bugzilla
BUGZILLA=/var/www/html/bugzilla
# Who owns the Bugzilla directory and files?
USER=root

# If you want to pass any options to the daemon (like -d for debugging)
# specify it here.
OPTIONS=""

# You can also override the configuration by creating a 
# /etc/sysconfig/bugzilla-queue file so that you don't
# have to edit this script. 
if [ -r /etc/sysconfig/$NAME ]; then
  . /etc/sysconfig/$NAME
fi

##########
# Script #
##########

RETVAL=0
BIN=$BUGZILLA/jobqueue.pl
PIDFILE=/var/run/$NAME.pid

# Source function library.
. /etc/rc.d/init.d/functions

usage ()
{
    echo "Usage: service $NAME {start|stop|status|restart|condrestart}"
    RETVAL=1
}


start ()
{
    if [ -f "$PIDFILE" ]; then
73
	checkpid `cat $PIDFILE` && return 2
74 75 76 77 78 79 80 81 82 83 84 85 86 87
    fi
    echo -n "Starting $NAME: "
    touch $PIDFILE
    chown $USER $PIDFILE
    daemon --user=$USER \
        "$BIN ${OPTIONS} -p '$PIDFILE' -n $NAME start > /dev/null"
    ret=$?
    [ $ret -eq "0" ] && touch /var/lock/subsys/$NAME
    echo
    return $ret
}

stop ()
{
88
    [ -f /var/lock/subsys/$NAME ] || return 2
89 90 91 92 93 94 95 96 97 98 99 100 101 102
    echo -n "Killing $NAME: "
    killproc $NAME
    echo
    rm -f /var/lock/subsys/$NAME
}

restart ()
{
    stop
    start
}

condrestart ()
{
103
    [ -e /var/lock/subsys/$NAME ] && restart || return 2
104 105 106 107 108 109 110 111 112
}


case "$1" in
    start) start; RETVAL=$? ;;
    stop) stop; RETVAL=$? ;;
    status) $BIN -p $PIDFILE -n $NAME check; RETVAL=$?;;
    restart) restart; RETVAL=$? ;;
    condrestart) condrestart; RETVAL=$? ;;
113
    *) usage ;;
114 115 116
esac

exit $RETVAL