mirror of
https://git.freebsd.org/ports.git
synced 2025-06-15 09:40:35 -04:00
50 lines
1 KiB
Bash
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"
|