summaryrefslogtreecommitdiff
path: root/sysutils/cbsd-mq-router/files/cbsd-mq-router.in
diff options
context:
space:
mode:
authorKirill Ponomarev <krion@FreeBSD.org>2021-02-23 10:28:03 +0000
committerKirill Ponomarev <krion@FreeBSD.org>2021-02-23 10:28:03 +0000
commit7940d0a475720c38a6345ab07504cadca19c1f61 (patch)
tree51892068d03a217cd94ab27fba7f5b70800bf1ed /sysutils/cbsd-mq-router/files/cbsd-mq-router.in
parentUpdate to 5.0.3 (diff)
This port delivers tasks to the CBSD using beanstalkd broker.
The service acts as an intermediate link between the broker and the CBSD. PR: 253789 Submitted by: olevole___at___olevole___dot___ru
Notes
Notes: svn path=/head/; revision=566387
Diffstat (limited to 'sysutils/cbsd-mq-router/files/cbsd-mq-router.in')
-rw-r--r--sysutils/cbsd-mq-router/files/cbsd-mq-router.in75
1 files changed, 75 insertions, 0 deletions
diff --git a/sysutils/cbsd-mq-router/files/cbsd-mq-router.in b/sysutils/cbsd-mq-router/files/cbsd-mq-router.in
new file mode 100644
index 000000000000..791f5733fa85
--- /dev/null
+++ b/sysutils/cbsd-mq-router/files/cbsd-mq-router.in
@@ -0,0 +1,75 @@
+#!/bin/sh
+
+# PROVIDE: cbsd_mq_router
+# REQUIRE: NETWORK
+# BEFORE: DAEMON
+
+. /etc/rc.subr
+
+name="cbsd_mq_router"
+desc="CBSD message queue router"
+rcvar="cbsd_mq_router_enable"
+pidfile="/var/run/${name}.pid"
+daemon_pidfile="/var/run/${name}-daemon.pid"
+logdir="/var/log/${name}"
+logfile="${logdir}/cbsd_mq_router.log"
+extra_commands="reload"
+command="%%PREFIX%%/bin/cbsd-mq-router"
+cbsd_mq_router_config=${cbsd_mq_router_config-"%%PREFIX%%/etc/cbsd-mq-router.json"}
+required_files="${cbsd_mq_router_config}"
+
+cbsd_mq_router_args=${cbsd_mq_router_args-"-config ${cbsd_mq_router_config}"}
+
+load_rc_config ${name}
+
+start_cmd="start"
+stop_cmd="stop"
+status_cmd="status"
+reload_cmd="reload"
+
+stop()
+{
+ if [ -f "${daemon_pidfile}" ]; then
+ pids=$( pgrep -F ${daemon_pidfile} 2>&1 )
+ _err=$?
+ [ ${_err} -eq 0 ] && kill -9 ${pids} && /bin/rm -f ${daemon_pidfile}
+ fi
+ if [ -f "${pidfile}" ]; then
+ pids=$( pgrep -F ${pidfile} 2>&1 )
+ _err=$?
+ [ ${_err} -eq 0 ] && kill -9 ${pids} && /bin/rm -f ${pidfile}
+ fi
+}
+
+start()
+{
+ [ ! -d ${logdir} ] && mkdir -p ${logdir}
+ touch ${logfile}
+ /usr/sbin/daemon -f -R5 -p ${pidfile} -P ${daemon_pidfile} -o ${logfile} ${command} ${cbsd_mq_router_args}
+}
+
+reload()
+{
+ stop
+ start
+}
+
+status()
+{
+ if [ -f "${pidfile}" ]; then
+ pids=$( pgrep -F ${pidfile} 2>&1 )
+ _err=$?
+ if [ ${_err} -eq 0 ]; then
+ echo "${name} is running as pid ${pids}"
+ exit 0
+ else
+ echo "wrong pid: ${pids}"
+ exit 1
+ fi
+ else
+ echo "no pidfile $pidfile"
+ exit 1
+ fi
+}
+
+run_rc_command "$1"