From 68fa46f017664617eb94b16fdeaa9c804b34fc1c Mon Sep 17 00:00:00 2001 From: James Date: Mon, 12 Mar 2012 16:38:18 -0400 Subject: [PATCH] CC-3415: Live Stream: Disconnect all input.harbor connections before terminating the process - call prepare termiate on monit-restart() --- python_apps/pypo/airtime-playout-init-d | 1 + .../pypo/liquidsoap_scripts/ls_script.liq | 16 ++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/python_apps/pypo/airtime-playout-init-d b/python_apps/pypo/airtime-playout-init-d index 85bd9f198..688e4e790 100755 --- a/python_apps/pypo/airtime-playout-init-d +++ b/python_apps/pypo/airtime-playout-init-d @@ -65,6 +65,7 @@ monit_restart() { start-stop-daemon --stop --oknodo --retry TERM/5/0/30 --quiet --pidfile $PIDFILE0 rm -f $PIDFILE0 + python /usr/lib/airtime/pypo/bin/liquidsoap_scripts/liquidsoap_prepare_terminate.py start-stop-daemon --stop --oknodo --retry TERM/5/0/30 --quiet --pidfile $PIDFILE1 rm -f $PIDFILE1 diff --git a/python_apps/pypo/liquidsoap_scripts/ls_script.liq b/python_apps/pypo/liquidsoap_scripts/ls_script.liq index 269abeee5..e0a337dc7 100644 --- a/python_apps/pypo/liquidsoap_scripts/ls_script.liq +++ b/python_apps/pypo/liquidsoap_scripts/ls_script.liq @@ -70,7 +70,7 @@ def update_source_status(sourcename, status) = log("/usr/lib/airtime/pypo/bin/liquidsoap_scripts/notify.sh --source-name=#{sourcename} --source-status=#{status}") end -def live_dj_connect() = +def live_dj_connect(header) = update_source_status("live_dj", true) end @@ -78,7 +78,7 @@ def live_dj_disconnect() = update_source_status("live_dj", false) end -def master_dj_connect() = +def master_dj_connect(header) = update_source_status("master_dj", true) end @@ -94,7 +94,7 @@ def check_master_dj_client(user,password) = ret = list.hd(ret) #return true to let the client transmit data, or false to tell harbor to decline if (ret == "True") then - master_dj_connect() + #master_dj_connect() true else false @@ -108,7 +108,7 @@ def check_dj_client(user,password) = ret = list.hd(ret) #return true to let the client transmit data, or false to tell harbor to decline if (ret == "True") then - live_dj_connect() + #live_dj_connect() true else false @@ -118,20 +118,20 @@ end def append_dj_inputs(master_harbor_input_port, master_harbor_input_mount_point, dj_harbor_input_port, dj_harbor_input_mount_point, s) = if master_harbor_input_port != 0 and master_harbor_input_mount_point != "" and dj_harbor_input_port != 0 and dj_harbor_input_mount_point != "" then master_dj = input.harbor(id="master_harbor", master_harbor_input_mount_point, port=master_harbor_input_port, auth=check_master_dj_client, - max=40., on_disconnect=master_dj_disconnect) + max=40., on_connect=master_dj_connect, on_disconnect=master_dj_disconnect) dj_live = input.harbor(id="live_dj_harbor", dj_harbor_input_mount_point, port=dj_harbor_input_port, auth=check_dj_client, - max=40., on_disconnect=live_dj_disconnect) + max=40., on_connect=live_dj_connect, on_disconnect=live_dj_disconnect) ignore(output.dummy(master_dj, fallible=true)) ignore(output.dummy(dj_live, fallible=true)) switch(id="master_dj_switch", track_sensitive=false, transitions=[transition, transition, transition], [({!master_dj_enabled},master_dj), ({!live_dj_enabled},dj_live), ({true}, s)]) elsif master_harbor_input_port != 0 and master_harbor_input_mount_point != "" then master_dj = input.harbor(id="master_harbor", master_harbor_input_mount_point, port=master_harbor_input_port, auth=check_master_dj_client, - max=40., on_disconnect=master_dj_disconnect) + max=40., on_connect=master_dj_connect, on_disconnect=master_dj_disconnect) ignore(output.dummy(master_dj, fallible=true)) switch(id="master_dj_switch", track_sensitive=false, transitions=[transition, transition], [({!master_dj_enabled},master_dj), ({true}, s)]) elsif dj_harbor_input_port != 0 and dj_harbor_input_mount_point != "" then dj_live = input.harbor(id="live_dj_harbor", dj_harbor_input_mount_point, port=dj_harbor_input_port, auth=check_dj_client, - max=40., on_disconnect=live_dj_disconnect) + max=40., on_connect=live_dj_connect, on_disconnect=live_dj_disconnect) ignore(output.dummy(dj_live, fallible=true)) switch(id="live_dj_switch", track_sensitive=false, transitions=[transition, transition], [({!live_dj_enabled},dj_live), ({true}, s)]) else