diff --git a/TaskServer/ProcessExecutionEvents.js b/TaskServer/ProcessExecutionEvents.js index 27881f58b..ba5bd34fa 100644 --- a/TaskServer/ProcessExecutionEvents.js +++ b/TaskServer/ProcessExecutionEvents.js @@ -57,7 +57,7 @@ processThisDependsOn = bot.processNode.referenceParent.executionStartedEvent.referenceParent.parentNode name = processThisDependsOn.name - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] initialize -> " + currentProcessKey + " based on the Data Mine depends on " + name); } + logger.write(MODULE_NAME, "[INFO] initialize -> " + currentProcessKey + " based on the Data Mine depends on " + name) } } } @@ -71,7 +71,7 @@ processThisDependsOn = bot.processNode.executionStartedEvent.referenceParent.parentNode name = processThisDependsOn.name - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] initialize -> " + currentProcessKey + " based on the User's Task depends on " + name); } + logger.write(MODULE_NAME, "[INFO] initialize -> " + currentProcessKey + " based on the User's Task depends on " + name) } } } @@ -122,23 +122,23 @@ we are waiting for is located on the network. */ thisObject.networkNode = networkNode - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { - logger.write(MODULE_NAME, - "[INFO] initialize -> Connecting to Websockets Server " + networkNode.name + - " -> host = " + networkNode.config.host + - ' -> port = ' + networkNode.config.webSocketsPort + '.'); - } - + + logger.write(MODULE_NAME, + "[INFO] initialize -> Connecting to Websockets Server " + networkNode.name + + " -> host = " + networkNode.config.host + + ' -> port = ' + networkNode.config.webSocketsPort + '.'); + + eventServerClient = EVENT_SERVER_CLIENT.newEventsServerClient(networkNode.config.host, networkNode.config.webSocketsPort) eventServerClient.initialize(onConnected) - + function onConnected() { - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { - logger.write(MODULE_NAME, "[INFO] initialize -> Connected to Websockets Server " + networkNode.name + - " -> host = " + networkNode.config.host + - ' -> port = ' + networkNode.config.webSocketsPort + '.'); - } - + + logger.write(MODULE_NAME, "[INFO] initialize -> Connected to Websockets Server " + networkNode.name + + " -> host = " + networkNode.config.host + + ' -> port = ' + networkNode.config.webSocketsPort + '.'); + + callBackFunction(global.DEFAULT_OK_RESPONSE); return } @@ -186,7 +186,7 @@ if (processThisDependsOn !== undefined) { - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] start -> waitForDependantProcess -> Entering Code Block."); } + logger.write(MODULE_NAME, "[INFO] start -> waitForDependantProcess -> Entering Code Block.") /* This forces this process to wait until the process that this one depends on, emits its event signaling that the process execution has finished. */ @@ -198,9 +198,9 @@ let subscriptionId - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] start -> waitForDependantProcess -> started listening to Process Execution Finished. "); } - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] start -> waitForDependantProcess -> key = " + key); } - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] start -> waitForDependantProcess -> callerId = " + callerId); } + logger.write(MODULE_NAME, "[INFO] start -> waitForDependantProcess -> started listening to Process Execution Finished. ") + logger.write(MODULE_NAME, "[INFO] start -> waitForDependantProcess -> key = " + key) + logger.write(MODULE_NAME, "[INFO] start -> waitForDependantProcess -> callerId = " + callerId) eventServerClient.listenToEvent(key, 'Process Execution Finished', undefined, callerId, responseCallBack, eventsCallBack) @@ -212,17 +212,17 @@ callBackFunction(global.DEFAULT_FAIL_RESPONSE); } else { subscriptionId = message.eventSubscriptionId - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] start -> waitForDependantProcess -> subscriptionId = " + subscriptionId); } + logger.write(MODULE_NAME, "[INFO] start -> waitForDependantProcess -> subscriptionId = " + subscriptionId) } } function eventsCallBack(message) { - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] start -> eventsCallBack -> Entering function."); } - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] start -> eventsCallBack -> message = " + JSON.stringify(message)); } + logger.write(MODULE_NAME, "[INFO] start -> eventsCallBack -> Entering function.") + logger.write(MODULE_NAME, "[INFO] start -> eventsCallBack -> message = " + JSON.stringify(message)) /* We continue the normal flow after we learn the dependent process has finished its execution. */ - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] start -> eventsCallBack -> stopListening to Process Execution Finished. "); } - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] start -> eventsCallBack -> subscriptionId = " + subscriptionId); } + logger.write(MODULE_NAME, "[INFO] start -> eventsCallBack -> stopListening to Process Execution Finished. ") + logger.write(MODULE_NAME, "[INFO] start -> eventsCallBack -> subscriptionId = " + subscriptionId) eventServerClient.stopListening(key, 'Process Execution Finished', subscriptionId) if (message.event.err.result === global.DEFAULT_OK_RESPONSE.result) { @@ -235,7 +235,7 @@ bot.processHeartBeat(undefined, undefined, "Running...") - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] start -> eventsCallBack -> " + currentProcessKey + " Process Execution Started because " + key + " Finished."); } + logger.write(MODULE_NAME, "[INFO] start -> eventsCallBack -> " + currentProcessKey + " Process Execution Started because " + key + " Finished.") } callBackFunction(message.event.err); @@ -249,7 +249,7 @@ global.EVENT_SERVER_CLIENT.createEventHandler(currentProcessKey, 'Process Execution Started') global.EVENT_SERVER_CLIENT.raiseEvent(currentProcessKey, 'Process Execution Started', event) - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] start -> " + currentProcessKey + " Process Execution Started "); } + logger.write(MODULE_NAME, "[INFO] start -> " + currentProcessKey + " Process Execution Started ") callBackFunction(global.DEFAULT_OK_RESPONSE); } @@ -264,7 +264,7 @@ try { - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] finish -> Entering function."); } + logger.write(MODULE_NAME, "[INFO] finish -> Entering function.") let event = { err: global.DEFAULT_OK_RESPONSE @@ -273,7 +273,7 @@ global.EVENT_SERVER_CLIENT.createEventHandler(currentProcessKey, 'Process Execution Finished') global.EVENT_SERVER_CLIENT.raiseEvent(currentProcessKey, 'Process Execution Finished', event) - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] finish -> " + currentProcessKey + " Process Execution Finished "); } + logger.write(MODULE_NAME, "[INFO] finish -> " + currentProcessKey + " Process Execution Finished ") callBackFunction(global.DEFAULT_OK_RESPONSE); diff --git a/TaskServer/Root.js b/TaskServer/Root.js index 3b24f49c8..7a2391c3e 100644 --- a/TaskServer/Root.js +++ b/TaskServer/Root.js @@ -50,44 +50,8 @@ return thisObject; function initialize(callBackFunction) { - try { - - /* Global control of logging. */ - - global.LOG_CONTROL = { - "Status Report": { - logInfo: false, - logWarnings: false, - logErrors: true, - logContent: false, - intensiveLogging: false - }, - "Dataset": { - logInfo: false, - logWarnings: false, - logErrors: true, - logContent: false, - intensiveLogging: false - }, - "Process Execution Events": { - logInfo: false, - logWarnings: false, - logErrors: true, - logContent: false, - intensiveLogging: false - }, - "Process Output": { - logInfo: false, - logWarnings: false, - logErrors: true, - logContent: false, - intensiveLogging: false - } - }; - callBackFunction(); - } catch (err) { console.log(logDisplace + "Root : [ERROR] initialize -> err = " + err.stack); @@ -96,7 +60,6 @@ } function start(processIndex) { - try { /* Now we will run according to what we see at the config file. */ diff --git a/TaskServer/StatusReport.js b/TaskServer/StatusReport.js index bafb1bba4..e2263623f 100644 --- a/TaskServer/StatusReport.js +++ b/TaskServer/StatusReport.js @@ -84,7 +84,7 @@ let nodeString = JSON.stringify(errorInNode) logger.write(MODULE_NAME, "[ERROR] initialize -> " + errorMessage + ' -> nodeString = ' + nodeString) global.PROCESS_ERROR(bot.processKey, errorInNode, errorMessage) - callBackFunction(global.DEFAULT_FAIL_RESPONSE); + callBackFunction(global.DEFAULT_FAIL_RESPONSE) } /* Simplifying the access to basic info */ @@ -157,10 +157,10 @@ and where it is located on the network. */ thisObject.networkNode = networkNode - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] initialize -> Retrieving status report from " + networkNode.name + " -> host = " + networkNode.config.host + ' -> port = ' + networkNode.config.webPort + '.'); } - - fileStorage = FILE_STORAGE.newFileStorage(logger, networkNode.config.host, networkNode.config.webPort); - callBackFunction(global.DEFAULT_OK_RESPONSE); + logger.write(MODULE_NAME, "[INFO] initialize -> Retrieving status report from " + networkNode.name + " -> host = " + networkNode.config.host + ' -> port = ' + networkNode.config.webPort + '.') + + fileStorage = FILE_STORAGE.newFileStorage(logger, networkNode.config.host, networkNode.config.webPort) + callBackFunction(global.DEFAULT_OK_RESPONSE) return true } } @@ -208,10 +208,10 @@ and where it is located on the network. */ thisObject.networkNode = networkNode - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] initialize -> Retrieving status report from " + networkNode.name + " -> host = " + networkNode.config.host + ' -> port = ' + networkNode.config.webPort + '.'); } - - fileStorage = FILE_STORAGE.newFileStorage(logger, networkNode.config.host, networkNode.config.webPort); - callBackFunction(global.DEFAULT_OK_RESPONSE); + logger.write(MODULE_NAME, "[INFO] initialize -> Retrieving status report from " + networkNode.name + " -> host = " + networkNode.config.host + ' -> port = ' + networkNode.config.webPort + '.') + + fileStorage = FILE_STORAGE.newFileStorage(logger, networkNode.config.host, networkNode.config.webPort) + callBackFunction(global.DEFAULT_OK_RESPONSE) return true } } @@ -225,10 +225,10 @@ } logger.write(MODULE_NAME, "[ERROR] initialize -> Initialization Failed because we could not find where the data of this status report is located within the network. Check the logs for more info."); - logger.write(MODULE_NAME, "[ERROR] initialize -> bot = " + statusDependencyNode.bot); - logger.write(MODULE_NAME, "[ERROR] initialize -> process = " + statusDependencyNode.process); - logger.write(MODULE_NAME, "[ERROR] initialize -> bottype = " + statusDependencyNode.bottype); - logger.write(MODULE_NAME, "[ERROR] initialize -> dataMine = " + statusDependencyNode.dataMine); + logger.write(MODULE_NAME, "[ERROR] initialize -> bot = " + statusDependencyNode.bot) + logger.write(MODULE_NAME, "[ERROR] initialize -> process = " + statusDependencyNode.process) + logger.write(MODULE_NAME, "[ERROR] initialize -> bottype = " + statusDependencyNode.bottype) + logger.write(MODULE_NAME, "[ERROR] initialize -> dataMine = " + statusDependencyNode.dataMine) callBackFunction(global.DEFAULT_FAIL_RESPONSE); @@ -249,8 +249,6 @@ try { - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] load -> Entering function."); } - let fileName = "Status.Report.json"; let filePath; @@ -260,9 +258,9 @@ if (ownerId !== botId) { let filePathRoot = 'Project/' + statusDependencyNode.project + "/" + statusDependencyNode.mineType + "/" + statusDependencyNode.dataMine + "/" + statusDependencyNode.bot + '/' + bot.exchange + "/" + bot.market.baseAsset + "-" + bot.market.quotedAsset - filePath = filePathRoot + "/Reports/" + sessionPath + statusDependencyNode.process; + filePath = filePathRoot + "/Reports/" + sessionPath + statusDependencyNode.process } else { - filePath = bot.filePathRoot + "/Reports/" + sessionPath + statusDependencyNode.process; + filePath = bot.filePathRoot + "/Reports/" + sessionPath + statusDependencyNode.process } filePath += '/' + fileName @@ -288,7 +286,7 @@ if (err.result === global.CUSTOM_FAIL_RESPONSE.result && (err.message === 'Folder does not exist.' || err.message === 'File does not exist.') || err.code === "The specified key does not exist.") { - logger.write(MODULE_NAME, "[INFO] load -> onFileReceived -> err = " + err.message); + logger.write(MODULE_NAME, "[INFO] load -> onFileReceived -> err = " + err.message) /* In this case we can assume that this is the first execution ever of this bot.*/ @@ -298,26 +296,20 @@ result: global.CUSTOM_OK_RESPONSE.result, message: "Status Report was never created." }; - logger.write(MODULE_NAME, "[WARN] load -> onFileReceived -> customOK = " + customOK.message); + logger.write(MODULE_NAME, "[WARN] load -> onFileReceived -> customOK = " + customOK.message) callBackFunction(customOK); return; } if (err.result !== global.DEFAULT_OK_RESPONSE.result) { - logger.write(MODULE_NAME, "[ERROR] load -> onFileReceived -> err = " + err.message); + logger.write(MODULE_NAME, "[ERROR] load -> onFileReceived -> err = " + err.message) callBackFunction(err); return; } - if (global.LOG_CONTROL[MODULE_NAME].logContent === true) { - logger.write(MODULE_NAME, "[INFO] load -> onFileReceived -> Content received = " + text); - } - try { - thisObject.file = JSON.parse(text); - callBackFunction(global.DEFAULT_OK_RESPONSE); - + callBackFunction(global.DEFAULT_OK_RESPONSE) } catch (err) { /* @@ -325,22 +317,22 @@ is being updated at the moment of the read. The bot can not run without a valid Status Report but we can request the platform to retry later. */ - logger.write(MODULE_NAME, "[ERROR] load -> onFileReceived -> Error Parsing the Status report. -> Err = " + err.message); - logger.write(MODULE_NAME, "[WARN] load -> onFileReceived -> Error Parsing the Status report. -> text = " + text); + logger.write(MODULE_NAME, "[ERROR] load -> onFileReceived -> Error Parsing the Status report. -> Err = " + err.message) + logger.write(MODULE_NAME, "[WARN] load -> onFileReceived -> Error Parsing the Status report. -> text = " + text) let customFail = { result: global.CUSTOM_FAIL_RESPONSE.result, message: "Status Report is corrupt." }; - logger.write(MODULE_NAME, "[WARN] load -> onFileReceived -> customFail = " + customFail.message); + logger.write(MODULE_NAME, "[WARN] load -> onFileReceived -> customFail = " + customFail.message) callBackFunction(customFail); return; } } } catch (err) { - logger.write(MODULE_NAME, "[ERROR] load -> err = " + err.stack); - callBackFunction(global.DEFAULT_FAIL_RESPONSE); + logger.write(MODULE_NAME, "[ERROR] load -> err = " + err.stack) + callBackFunction(global.DEFAULT_FAIL_RESPONSE) } } @@ -348,8 +340,6 @@ try { - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] save -> Entering function."); } - let ownerId = statusDependencyNode.dataMine + "-" + statusDependencyNode.bot + "-" + statusDependencyNode.process let botId = bot.dataMine + "-" + bot.codeName + "-" + bot.process @@ -359,45 +349,36 @@ result: global.CUSTOM_FAIL_RESPONSE.result, message: "Only bots owners of a Status Report can save them." }; - logger.write(MODULE_NAME, "[ERROR] save -> customErr = " + customErr.message); - callBackFunction(customErr); + logger.write(MODULE_NAME, "[ERROR] save -> customErr = " + customErr.message) + callBackFunction(customErr) return; } - let fileName = "Status.Report.json"; - let filePath = bot.filePathRoot + "/Reports/" + sessionPath + statusDependencyNode.process; + let fileName = "Status.Report.json" + let filePath = bot.filePathRoot + "/Reports/" + sessionPath + statusDependencyNode.process filePath += '/' + fileName let fileContent = JSON.stringify(thisObject.file); - fileStorage.createTextFile(filePath, fileContent + '\n', onFileCreated, true); + fileStorage.createTextFile(filePath, fileContent + '\n', onFileCreated, true) function onFileCreated(err) { - - if (global.LOG_CONTROL[MODULE_NAME].logInfo === true) { logger.write(MODULE_NAME, "[INFO] save -> onFileCreated -> Entering function."); } - if (err.result !== global.DEFAULT_OK_RESPONSE.result) { - logger.write(MODULE_NAME, "[ERROR] save -> onFileCreated -> err = " + err.stack); - callBackFunction(err); - return; - } - - if (global.LOG_CONTROL[MODULE_NAME].logContent === true) { - logger.write(MODULE_NAME, "[INFO] save -> onFileCreated -> Content written = " + fileContent); + logger.write(MODULE_NAME, "[ERROR] save -> onFileCreated -> err = " + err.stack) + callBackFunction(err) + return } /* All good, lets emit the event that means data has been updated. */ let processOutput = PROCESS_OUTPUT.newProcessOutput(bot, logger) - processOutput.raiseEvents(thisObject.file.lastFile, thisObject.file.timeFrames, callBackFunction); - - return; + return } } catch (err) { - logger.write(MODULE_NAME, "[ERROR] save -> err = " + err.stack); + logger.write(MODULE_NAME, "[ERROR] save -> err = " + err.stack) callBackFunction(global.DEFAULT_FAIL_RESPONSE); } } @@ -405,7 +386,7 @@ async function asyncSave() { let fileName = "Status.Report.json"; - let filePath = bot.filePathRoot + "/Reports/" + sessionPath + statusDependencyNode.process; + let filePath = bot.filePathRoot + "/Reports/" + sessionPath + statusDependencyNode.process filePath += '/' + fileName let fileContent = JSON.stringify(thisObject.file); diff --git a/TaskServer/TradingBot.js b/TaskServer/TradingBot.js index 064a3a3c2..202d101ab 100644 --- a/TaskServer/TradingBot.js +++ b/TaskServer/TradingBot.js @@ -44,7 +44,7 @@ /* Some initial values*/ let fixedTimeLoopIntervalHandle; bot.STOP_SESSION = true; - if (FULL_LOG === true) { parentLogger.write(MODULE_NAME, '[IMPORTANT] run -> Stopping the Session now. ') } + parentLogger.write(MODULE_NAME, '[IMPORTANT] run -> Stopping the Session now. ') /* Heartbeats sent to the UI */ bot.processHeartBeat = processHeartBeat @@ -99,14 +99,14 @@ if (bot.TRADING_SESSION_STATUS === 'Running' && bot.STOP_SESSION === true) { bot.TRADING_SESSION_STATUS = 'Stopped' - } + } - global.EMIT_SESSION_STATUS (bot.TRADING_SESSION_STATUS, bot.TRADING_SESSIONKey) + global.EMIT_SESSION_STATUS(bot.TRADING_SESSION_STATUS, bot.TRADING_SESSIONKey) /* Checking if we should process this loop or not.*/ if (bot.STOP_SESSION === true) { - if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> Waiting for " + bot.processNode.session.type + " " + bot.processNode.session.name + " to be run."); } + logger.write(MODULE_NAME, "[INFO] run -> loop -> Waiting for " + bot.processNode.session.type + " " + bot.processNode.session.name + " to be run.") console.log(new Date().toISOString() + " " + pad(bot.codeName, 20) + " " + pad(bot.process, 30) + " Waiting for " + bot.processNode.session.type + " " + bot.processNode.session.name + " to be run. "); @@ -284,7 +284,7 @@ try { switch (err.result) { case global.DEFAULT_OK_RESPONSE.result: { - if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> initializeDataDependencies -> onInizialized -> Execution finished well."); } + logger.write(MODULE_NAME, "[INFO] run -> loop -> initializeDataDependencies -> onInizialized -> Execution finished well.") switch (processConfig.framework.name) { case 'Low-Frequency-Trading-Process': { processFramework = TRADING_PROCESS_MODULE.newTradingProcess(bot, logger, UTILITIES); @@ -519,7 +519,7 @@ } function loopControl(nextWaitTime) { - if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> nextWaitTime = " + nextWaitTime); } + logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> nextWaitTime = " + nextWaitTime) /* We show we reached the end of the loop. */ processHeartBeat(undefined, undefined, "Running...") @@ -528,7 +528,7 @@ shallWeStop(onStop, onContinue); function onStop() { - if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> onStop -> Stopping the Loop Gracefully. See you next time!"); } + logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> onStop -> Stopping the Loop Gracefully. See you next time!") if (global.WRITE_LOGS_TO_FILES === 'true') { logger.persist(); @@ -580,7 +580,7 @@ } } - if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (waitTime / 1000 / 60) + " minute/s."); } + logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (waitTime / 1000 / 60) + " minute/s.") nextLoopTimeoutHandle = setTimeout(loop, waitTime); let waitingTime = waitTime / 1000 / 60 let label = 'minute/s' @@ -593,21 +593,21 @@ } break; case 'Retry': { - if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (processConfig.retryWaitTime / 1000) + " seconds."); } + logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (processConfig.retryWaitTime / 1000) + " seconds.") nextLoopTimeoutHandle = setTimeout(loop, processConfig.retryWaitTime); processHeartBeat(undefined, undefined, "Trying to recover from some problem. Waiting " + processConfig.retryWaitTime / 1000 + " seconds for next execution.") logger.persist(); } break; case 'Sleep': { - if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (processConfig.sleepWaitTime / 60000) + " minutes."); } + logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (processConfig.sleepWaitTime / 60000) + " minutes.") nextLoopTimeoutHandle = setTimeout(loop, processConfig.sleepWaitTime); processHeartBeat(undefined, undefined, "Waiting " + processConfig.sleepWaitTime / 60000 + " minutes for next execution.") logger.persist(); } break; case 'Coma': { - if (FULL_LOG === true) { logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (processConfig.comaWaitTime / 3600000) + " hours."); } + logger.write(MODULE_NAME, "[INFO] run -> loop -> loopControl -> Restarting Loop in " + (processConfig.comaWaitTime / 3600000) + " hours.") nextLoopTimeoutHandle = setTimeout(loop, processConfig.comaWaitTime); processHeartBeat(undefined, undefined, "Waiting " + processConfig.comaWaitTime / 3600000 + " hours for next execution.") logger.persist();