From e74388f5605f62f8235ef02c6f5c0940bc596390 Mon Sep 17 00:00:00 2001 From: FusionPBX Date: Tue, 27 Aug 2024 07:18:38 -0600 Subject: [PATCH] Add fax_queue service Move email_queue and event_guard services into the fusionpbx directory. --- .../{switch => fusionpbx}/rc.d.email_queue | 0 .../{switch => fusionpbx}/rc.d.event_guard | 0 freebsd/resources/fusionpbx/rc.d.fax_queue | 66 +++++++++++++++++++ 3 files changed, 66 insertions(+) rename freebsd/resources/{switch => fusionpbx}/rc.d.email_queue (100%) rename freebsd/resources/{switch => fusionpbx}/rc.d.event_guard (100%) create mode 100644 freebsd/resources/fusionpbx/rc.d.fax_queue diff --git a/freebsd/resources/switch/rc.d.email_queue b/freebsd/resources/fusionpbx/rc.d.email_queue similarity index 100% rename from freebsd/resources/switch/rc.d.email_queue rename to freebsd/resources/fusionpbx/rc.d.email_queue diff --git a/freebsd/resources/switch/rc.d.event_guard b/freebsd/resources/fusionpbx/rc.d.event_guard similarity index 100% rename from freebsd/resources/switch/rc.d.event_guard rename to freebsd/resources/fusionpbx/rc.d.event_guard diff --git a/freebsd/resources/fusionpbx/rc.d.fax_queue b/freebsd/resources/fusionpbx/rc.d.fax_queue new file mode 100644 index 0000000..b98d803 --- /dev/null +++ b/freebsd/resources/fusionpbx/rc.d.fax_queue @@ -0,0 +1,66 @@ +#!/bin/sh +# +# PROVIDE: fax_queue +# REQUIRE: DAEMON +# KEYWORD: shutdown +# +# Add the following lines to /etc/rc.conf to enable fax_queue: +# fax_queue_enable: Set it to "YES" to enable fax_queue. +# Default is "NO". +# + +. /etc/rc.subr +name="fax_queue" + +rcvar=${name}_enable +load_rc_config $name + +# Set defaults +: ${fax_queue_enable="NO"} +: ${fax_queue_pidfile="/var/run/fax_queue.pid"} + +# Prepare the variables +start_cmd=${name}_start +stop_cmd=${name}_stop +status_cmd=${name}_status +pidfile=${fax_queue_pidfile} + +# Path to the PHP script +script="/usr/local/www/fusionpbx/app/fax_queue/resources/service/fax_queue.php" + +# Command to run the script +command="/usr/local/bin/php" +command_args="$script > /dev/null 2>&1" + +fax_queue_start() { + echo "Starting $name..." + if [ -f "$pidfile" ] && kill -0 "$(cat $pidfile)" 2>/dev/null; then + echo "$name is already running." + else + $command $command_args & + echo $! > "$pidfile" + echo "$name started." + fi +} + +fax_queue_stop() { + echo "Stopping $name..." + if [ -f "$pidfile" ] && kill -0 "$(cat $pidfile)" 2>/dev/null; then + kill "$(cat $pidfile)" + rm -f "$pidfile" + echo "$name stopped." + else + echo "$name is not running." + fi +} + +fax_queue_status() { + if [ -f "$pidfile" ] && kill -0 "$(cat $pidfile)" 2>/dev/null; then + echo "$name is running with PID $(cat $pidfile)." + else + echo "$name is not running." + fi +} + +run_rc_command "$1" +