#!/bin/sh

# PROVIDE: mango_blending_metrics
# REQUIRE: nginx
# KEYWORD: shutdown nojail

. /etc/rc.subr

name=mangobm
rcvar=mangobm_enable

load_rc_config mangobm

: ${mangobm_enable:="NO"}
: ${mangobm_socket:="/tmp/mango_blending_metrics.sock"}
: ${mangobm_user:=mango}

pidfile=${mangobm_pidfile:="/var/run/mangobm.pid"}
workdir=${mangobm_workdir:="/Berkanavt/mango/blending_metrics/viewer"}
scriptfile="$workdir/manage.py"

extra_commands="status"

start_precmd="mangobm_prestart"
start_postcmd="mangobm_poststart"
stop_cmd="mangobm_stop"
start_cmd="mangobm_start"
status_cmd="mangobm_status"

mangobm_start () {
	mangobm_status >/dev/null && \
		{ echo "$name is already running" >&2 ; return 1 ; } || \
		su -l $mangobm_user -c "python $scriptfile \
		runfcgi method=prefork protocol=fcgi \
		pidfile=${pidfile} socket=${mangobm_socket}"
}

mangobm_stop () {
	ps ww -U $mangobm_user | grep $(cat $pidfile) | grep -q "$scriptfile" && \
		kill $(cat $pidfile)
}

mangobm_status () {
	ps ww -U $mangobm_user | grep $(cat $pidfile) | grep -q "$scriptfile" && \
		echo "$name is running" || \
		{ echo "$name is NOT running" ; return 1 ; }
}

mangobm_prestart ()
{
	touch "$pidfile"
	chown $mangobm_user "$pidfile"
	cd "$workdir"
}

mangobm_poststart () {
	chmod g+rw "$mangobm_socket"
	chgrp www "$mangobm_socket"
}

run_rc_command "$1"
