From de1896286015a083ca0d92f7d67f498d7e0e2b13 Mon Sep 17 00:00:00 2001 From: Moe Date: Tue, 27 Sep 2022 14:11:15 -0700 Subject: [PATCH] add Fatal Error Exit notice, clean up fatal_max error check+ --- definitions/base.js | 4 +--- languages/en_CA.json | 2 ++ libs/monitor.js | 3 ++- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/definitions/base.js b/definitions/base.js index 87622ff0..b120c11c 100644 --- a/definitions/base.js +++ b/definitions/base.js @@ -441,9 +441,7 @@ module.exports = function(s,config,lang){ "name": "detail=fatal_max", "field": lang['Retry Connection'], "description": lang["fieldTextFatalMax"], - "default": "10", - "example": "", - "possible": "", + "example": "10", }, { "name": "detail=skip_ping", diff --git a/languages/en_CA.json b/languages/en_CA.json index 96ad6a49..019670f9 100644 --- a/languages/en_CA.json +++ b/languages/en_CA.json @@ -898,6 +898,8 @@ "Simple": "Simple", "Advanced": "Advanced", "Error Connecting": "Error Connecting", + "Fatal Error": "Fatal Error", + "onFatalErrorExit": "This monitor has failed too many times with high severity errors. It will now be stopped to prevent performance issues on your system.", "DB Lost.. Retrying..": "Database Lost.. Retrying..", "Retrying...": "Retrying...", "Filter Matches": "Filter Matches", diff --git a/libs/monitor.js b/libs/monitor.js index b91489be..99a6ac4a 100644 --- a/libs/monitor.js +++ b/libs/monitor.js @@ -1348,12 +1348,13 @@ module.exports = function(s,config,lang){ function fatalError(e,errorMessage){ const activeMonitor = s.group[e.ke].activeMonitors[e.id] const monitorDetails = s.group[e.ke].rawMonitorConfigurations[e.id].details - const maxCount = isNaN(monitorDetails.fatal_max) ? 0 : parseFloat(monitorDetails.fatal_max) + const maxCount = !monitorDetails.fatal_max || isNaN(monitorDetails.fatal_max) ? 0 : parseFloat(monitorDetails.fatal_max); clearTimeout(activeMonitor.err_fatal_timeout); ++activeMonitor.errorFatalCount; if(activeMonitor.isStarted === true){ activeMonitor.err_fatal_timeout = setTimeout(function(){ if(maxCount !== 0 && activeMonitor.errorFatalCount > maxCount){ + s.userLog(e,{type:lang["Fatal Error"],msg:lang.onFatalErrorExit}); s.camera('stop',{id:e.id,ke:e.ke}) }else{ launchMonitorProcesses(s.cleanMonitorObject(e))