ports/security/razorback-dispatcher/files/dispatcher.in
2012-06-11 02:33:06 +00:00

50 lines
1 KiB
Bash

#!/bin/sh
# $FreeBSD$
#
# 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"