CC-2726: create custom restart script for the Monit to use

- using Monit restart instead of start in full insatll script
- create new "monit-restart" function in pypo init.d
This commit is contained in:
James 2011-08-24 17:17:28 -04:00
parent 58837ff89b
commit 95cb1858c7
4 changed files with 30 additions and 5 deletions

View File

@ -78,7 +78,7 @@ if [ $RETVAL -ne 0 ] ; then
sudo echo "include /etc/monit/conf.d/*" >> /etc/monit/monitrc sudo echo "include /etc/monit/conf.d/*" >> /etc/monit/monitrc
fi fi
sudo service monit start sudo service monit restart
# Run Airtime Install # Run Airtime Install
echo "----------------------------------------------------" echo "----------------------------------------------------"

View File

@ -8,11 +8,11 @@
check process airtime-playout check process airtime-playout
with pidfile "/var/run/airtime-playout.pid" with pidfile "/var/run/airtime-playout.pid"
start program = "/etc/init.d/airtime-playout restart" with timeout 5 seconds start program = "/etc/init.d/airtime-playout monit-restart" with timeout 5 seconds
stop program = "/etc/init.d/airtime-playout stop" stop program = "/etc/init.d/airtime-playout stop"
check process airtime-liquidsoap check process airtime-liquidsoap
with pidfile "/var/run/airtime-liquidsoap.pid" with pidfile "/var/run/airtime-liquidsoap.pid"
start program = "/etc/init.d/airtime-playout restart" with timeout 5 seconds start program = "/etc/init.d/airtime-playout monit-restart" with timeout 5 seconds
stop program = "/etc/init.d/airtime-playout stop" stop program = "/etc/init.d/airtime-playout stop"
check process airtime-media-monitor check process airtime-media-monitor
with pidfile "/var/run/airtime-media-monitor.pid" with pidfile "/var/run/airtime-media-monitor.pid"

View File

@ -21,20 +21,22 @@ PIDFILE1=/var/run/airtime-liquidsoap.pid
liquidsoap_start () { liquidsoap_start () {
monit monitor airtime-liquidsoap >/dev/null 2>&1 monit monitor airtime-liquidsoap >/dev/null 2>&1
start-stop-daemon --start --background --quiet --chuid $USERID:$GROUPID \ start-stop-daemon --start --background --quiet --chuid $USERID:$GROUPID \
--nicelevel -15 --make-pidfile --pidfile $PIDFILE1 --startas $DAEMON1 --nicelevel -15 --make-pidfile --pidfile $PIDFILE1 --startas $DAEMON1
} }
liquidsoap_stop () { liquidsoap_stop () {
# Send TERM after 5 seconds, wait at most 30 seconds. # Send TERM after 5 seconds, wait at most 30 seconds.
monit unmonitor airtime-liquidsoap >/dev/null 2>&1
start-stop-daemon --stop --oknodo --retry TERM/5/0/30 --quiet --pidfile $PIDFILE1 start-stop-daemon --stop --oknodo --retry TERM/5/0/30 --quiet --pidfile $PIDFILE1
rm -f $PIDFILE1 rm -f $PIDFILE1
monit unmonitor airtime-liquidsoap >/dev/null 2>&1
} }
start () { start () {
monit monitor airtime-playout >/dev/null 2>&1
start-stop-daemon --start --background --quiet --chuid $USERID:$GROUPID --make-pidfile --pidfile $PIDFILE0 --startas $DAEMON0 start-stop-daemon --start --background --quiet --chuid $USERID:$GROUPID --make-pidfile --pidfile $PIDFILE0 --startas $DAEMON0
monit monitor airtime-playout >/dev/null 2>&1
liquidsoap_start liquidsoap_start
} }
@ -49,6 +51,21 @@ stop () {
liquidsoap_stop liquidsoap_stop
} }
monit_restart() {
start-stop-daemon --stop --oknodo --retry TERM/5/0/30 --quiet --pidfile $PIDFILE0
rm -f $PIDFILE0
start-stop-daemon --stop --oknodo --retry TERM/5/0/30 --quiet --pidfile $PIDFILE1
rm -f $PIDFILE1
start-stop-daemon --start --background --quiet --chuid $USERID:$GROUPID --make-pidfile --pidfile $PIDFILE0 --startas $DAEMON0
start-stop-daemon --start --background --quiet --chuid $USERID:$GROUPID \
--nicelevel -15 --make-pidfile --pidfile $PIDFILE1 --startas $DAEMON1
}
case "${1:-''}" in case "${1:-''}" in
'start') 'start')
# start commands here # start commands here
@ -69,6 +86,12 @@ case "${1:-''}" in
start start
echo "Done." echo "Done."
;; ;;
'monit-restart')
# restart commands here
echo -n "Monit Restarting $NAME: "
monit_restart
echo "Done."
;;
'status') 'status')
# status commands here # status commands here
/usr/bin/airtime-check-system /usr/bin/airtime-check-system

View File

@ -139,6 +139,8 @@ try:
buffer += temp buffer += temp
buffer += "\n" buffer += "\n"
fh.write(buffer) fh.write(buffer)
fh.write("output_icecast_vorbis_metadata = false\n");
fh.write("log_file = \"/var/log/airtime/pypo-liquidsoap/<script>.log\"\n");
fh.close() fh.close()
print "Waiting for processes to start..." print "Waiting for processes to start..."