Skip to content

Instantly share code, notes, and snippets.

@shiki
Created August 9, 2010 13:41
Show Gist options
  • Save shiki/515422 to your computer and use it in GitHub Desktop.
Save shiki/515422 to your computer and use it in GitHub Desktop.

Revisions

  1. shiki revised this gist Aug 10, 2010. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion beanstalkd
    Original file line number Diff line number Diff line change
    @@ -31,7 +31,7 @@ prog=$(basename $exec)
    # default options, overruled by items in sysconfig
    BEANSTALKD_ADDR=0.0.0.0
    BEANSTALKD_PORT=11300
    BEANSTALKD_USER=root
    BEANSTALKD_USER=beanstalkd

    # custom: added line below
    BEANSTALKD_PID_FILE=/var/run/beanstalkd.pid
  2. shiki created this gist Aug 9, 2010.
    142 changes: 142 additions & 0 deletions beanstalkd
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,142 @@
    #!/bin/sh
    #
    # beanstalkd - a simple, fast workqueue service
    #
    # chkconfig: - 57 47
    # description: a simple, fast workqueue service
    # processname: beanstalkd
    # config: /etc/sysconfig/beanstalkd
    #

    ### BEGIN INIT INFO
    # Provides: beanstalkd
    # Required-Start: $local_fs $network $remote_fs
    # Required-Stop: $local_fs $network $remote_fs
    # Default-Stop: 0 1 2 6
    # Short-Description: start and stop beanstalkd
    # Description: a simple, fast work-queue service
    ### END INIT INFO

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

    # Source networking configuration.
    . /etc/sysconfig/network

    # Check that networking is up.
    [ "$NETWORKING" = "no" ] && exit
    exec="/usr/bin/beanstalkd"
    prog=$(basename $exec)

    # default options, overruled by items in sysconfig
    BEANSTALKD_ADDR=0.0.0.0
    BEANSTALKD_PORT=11300
    BEANSTALKD_USER=root

    # custom: added line below
    BEANSTALKD_PID_FILE=/var/run/beanstalkd.pid

    [ -e /etc/sysconfig/beanstalkd ] && . /etc/sysconfig/beanstalkd

    lockfile=/var/lock/subsys/beanstalkd

    start() {
    [ -x $exec ] || exit 5
    echo -n $"Starting $prog: "
    # if not running, start it up here, usually something like "daemon $exec"
    options="-l ${BEANSTALKD_ADDR} -p ${BEANSTALKD_PORT} -u ${BEANSTALKD_USER}"
    if [ "${BEANSTALKD_MAX_JOB_SIZE}" != "" ]; then
    options="${options} -z ${BEANSTALKD_MAX_JOB_SIZE}"
    fi

    if [ "${BEANSTALKD_BINLOG_DIR}" != "" ]; then
    if [ ! -d "${BEANSTALKD_BINLOG_DIR}" ]; then
    echo "Creating binlog directory (${BEANSTALKD_BINLOG_DIR})"
    mkdir -p ${BEANSTALKD_BINLOG_DIR} && chown ${BEANSTALKD_USER}:${BEANSTALKD_USER} ${BEANSTALKD_BINLOG_DIR}
    fi
    options="${options} -b ${BEANSTALKD_BINLOG_DIR}"
    if [ "${BEANSTALKD_BINLOG_FSYNC_PERIOD}" != "" ]; then
    options="${options} -f ${BEANSTALKD_BINLOG_FSYNC_PERIOD}"
    else
    options="${options} -F"
    fi
    if [ "${BEANSTALKD_BINLOG_SIZE}" != "" ]; then
    options="${options} -s ${BEANSTALKD_BINLOG_SIZE}"
    fi
    fi

    daemon $exec -d $options
    retval=$?
    echo
    # custom: added line below
    echo `ps auxf | grep -v grep | grep "$exec -d $options" | awk '{print $2}'` > $BEANSTALKD_PID_FILE
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
    }

    stop() {
    echo -n $"Stopping $prog: "
    # stop it here, often "killproc $prog"
    killproc $prog -INT
    retval=$?
    echo
    # custom: added line below
    rm -rf $BEANSTALKD_PID_FILE
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
    }

    restart() {
    stop
    start
    }

    reload() {
    restart
    }

    force_reload() {
    restart
    }

    rh_status() {
    # run checks to determine if the service is running or use generic status
    status $prog
    }

    rh_status_q() {
    rh_status >/dev/null 2>&1
    }


    case "$1" in
    start)
    rh_status_q && exit 0
    $1
    ;;
    stop)
    rh_status_q || exit 0
    $1
    ;;
    restart)
    $1
    ;;
    reload)
    rh_status_q || exit 7
    $1
    ;;
    force-reload)
    force_reload
    ;;
    status)
    rh_status
    ;;
    condrestart|try-restart)
    rh_status_q || exit 0
    restart
    ;;
    *)
    echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
    exit 2
    esac
    exit $?