From c36b666666caa6bc0151b54a85cf5b7556f4017c Mon Sep 17 00:00:00 2001 From: "Ycarus (Yannick Chabanois)" Date: Thu, 1 Aug 2024 11:58:46 +0200 Subject: [PATCH] Add type None, API only or Ping only to OMR-Tracker server --- .../view/omr-tracker/network/server.js | 7 +++++ omr-tracker/files/bin/omr-tracker-server | 28 +++++++++++++++---- omr-tracker/files/etc/config/omr-tracker | 3 +- omr-tracker/files/etc/init.d/omr-tracker | 1 + .../files/etc/uci-defaults/omr-tracker | 6 ++++ 5 files changed, 38 insertions(+), 7 deletions(-) diff --git a/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/server.js b/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/server.js index b14cb2020..a4359aad4 100644 --- a/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/server.js +++ b/luci-app-omr-tracker/htdocs/luci-static/resources/view/omr-tracker/network/server.js @@ -44,6 +44,13 @@ return view.extend({ o.value('offline', _('Offline')); o.modalonly = true; + o = s.option(form.ListValue, 'type', _('Tracking method'),_('Check if VPS api answer or/and ping server IPs.')); + o.default = 'apiping'; + o.value('apiping',_('API & Ping')); + o.value('api',_('API')); + o.value('ping',_('Ping')); + o.value('none',_('None')); + o = s.option(form.Flag, 'mail_alert', _('Mail alert'), _('Send a mail when connection status change. You need to configure e-mail settings here.')); o.rmempty = false; diff --git a/omr-tracker/files/bin/omr-tracker-server b/omr-tracker/files/bin/omr-tracker-server index 21db7b7b4..13ed85a59 100755 --- a/omr-tracker/files/bin/omr-tracker-server +++ b/omr-tracker/files/bin/omr-tracker-server @@ -177,10 +177,18 @@ _check_master() { [ -z "$serverip" ] && return #_ping_server $serverip #_check_server $serverip $port - _check_server_intf $serverip $port - [ "$server_ping" = false ] && { + if [ "$OMR_TRACKER_TYPE" = "api" ]; then + _check_server_intf $serverip $port + elif [ "$OMR_TRACKER_TYPE" = "apiping" ]; then + _check_server_intf $serverip $port + [ "$server_ping" = false ] && { + _ping_server_intf $serverip + } + elif [ "$OMR_TRACKER_TYPE" = "ping" ]; then _ping_server_intf $serverip - } + elif [ "$OMR_TRACKER_TYPE" = "none" ]; then + server_ping=true + fi [ "$server_ping" = true ] && { oneserverup="1" } @@ -375,10 +383,18 @@ _check_backup() { [ -z "$serverip" ] && return #_ping_server $serverip #_check_server $serverip $port - _check_server_intf $serverip $port - [ "$server_ping" = false ] && { + if [ "$OMR_TRACKER_TYPE" = "api" ]; then + _check_server_intf $serverip $port + elif [ "$OMR_TRACKER_TYPE" = "apiping" ]; then + _check_server_intf $serverip $port + [ "$server_ping" = false ] && { + _ping_server_intf $serverip + } + elif [ "$OMR_TRACKER_TYPE" = "ping" ]; then _ping_server_intf $serverip - } + elif [ "$OMR_TRACKER_TYPE" = "none" ]; then + server_ping=true + fi [ "$server_ping" = true ] && { oneserverup="1" } diff --git a/omr-tracker/files/etc/config/omr-tracker b/omr-tracker/files/etc/config/omr-tracker index 026bc4f49..40adaab52 100644 --- a/omr-tracker/files/etc/config/omr-tracker +++ b/omr-tracker/files/etc/config/omr-tracker @@ -67,4 +67,5 @@ config server 'server' option wait_test '0' option interval '5' option mail_alert '0' - option initial_state 'online' \ No newline at end of file + option initial_state 'online' + option type 'apiping' diff --git a/omr-tracker/files/etc/init.d/omr-tracker b/omr-tracker/files/etc/init.d/omr-tracker index a1bb463a4..c83e91320 100755 --- a/omr-tracker/files/etc/init.d/omr-tracker +++ b/omr-tracker/files/etc/init.d/omr-tracker @@ -168,6 +168,7 @@ _launch_server_tracker() { procd_append_param env "OMR_TRACKER_INTERVAL=$interval" procd_append_param env "OMR_TRACKER_INTERVAL_TRIES=$interval_tries" procd_append_param env "OMR_TRACKER_WAIT_TEST=$wait_test" + procd_append_param env "OMR_TRACKER_TYPE=$type" procd_set_param limits nofile="51200 51200" procd_set_param respawn 0 10 0 procd_set_param stderr 1 diff --git a/omr-tracker/files/etc/uci-defaults/omr-tracker b/omr-tracker/files/etc/uci-defaults/omr-tracker index ea183b91c..9fc89a488 100755 --- a/omr-tracker/files/etc/uci-defaults/omr-tracker +++ b/omr-tracker/files/etc/uci-defaults/omr-tracker @@ -136,5 +136,11 @@ if [ "$(uci -q get omr-tracker.defaults.family)" = "" ]; then commit omr-tracker EOF fi +if [ "$(uci -q get omr-tracker.server.type)" = "" ]; then + uci -q batch <<-EOF >/dev/null + set omr-tracker.server.type='apiping' + commit omr-tracker + EOF +fi exit 0 \ No newline at end of file