#!/bin/sh # $FreeBSD: head/security/razorback-dispatcher/files/dispatcher.in 340872 2014-01-24 00:14:07Z mat $ # # PROVIDE: dispatcher # REQUIRE: %%ACTIVEMQ%%mysql # KEYWORD: shutdown # # Add the following lines to /etc/rc.conf to enable the razorback dispatcher: # # dispatcher_enable="YES" . /etc/rc.subr name=dispatcher rcvar=dispatcher_enable load_rc_config $name dispatcher_enable=${dispatcher_enable:-"NO"} dispatcher_user=${dispatcher_user:-"razorback"} dispatcher_group=${dispatcher_group:-"razorback"} command=%%PREFIX%%/bin/dispatcher start_precmd="dispatcher_precmd-%%ACTIVEMQ_LOC%%" _piddir=/var/run/razorback pidfile=${_piddir}/dispatcher.pid dispatcher_precmd-remote() { install -d -o $dispatcher_user -g $dispatcher_user -m 755 $_piddir } dispatcher_precmd-local() { local iter install -d -o $dispatcher_user -g $dispatcher_user -m 755 $_piddir iter=0 while [ `sockstat -l | egrep -c '^activemq.*tcp.*'` -lt 4 ]; do if [ ${iter} -eq 30 ]; then err 1 "Failed to detect a functional activemq. Please check your configuration" fi sleep 2 iter=$(( ${iter} + 1)) done } run_rc_command "$1"