diff --git a/Projects/ProjectsSchema.json b/Projects/ProjectsSchema.json index f5903a992..4d0292519 100644 --- a/Projects/ProjectsSchema.json +++ b/Projects/ProjectsSchema.json @@ -356,6 +356,12 @@ "functionName": "newSuperalgosGlobalsTaskVariables", "fileName": "TaskVariables.js" }, + { + "name": "Task Constants", + "propertyName": "taskConstants", + "functionName": "newSuperalgosGlobalsTaskConstants", + "fileName": "TaskConstants.js" + }, { "name": "NODE JS Constants", "propertyName": "nodeJSConstants", diff --git a/Projects/Superalgos/TS/Function-Libraries/NodeJSFunctions.js b/Projects/Superalgos/TS/Function-Libraries/NodeJSFunctions.js index d3fd57b92..d07a4d9c8 100644 --- a/Projects/Superalgos/TS/Function-Libraries/NodeJSFunctions.js +++ b/Projects/Superalgos/TS/Function-Libraries/NodeJSFunctions.js @@ -22,10 +22,10 @@ exports.newSuperalgosFunctionLibrariesNodeJSFunctions = function () { /* Cleaning Before Exiting. */ clearInterval(global.HEARTBEAT_INTERVAL_HANDLER) - if (global.TASK_NODE !== undefined) { - for (let i = 0; i < global.TASK_NODE.bot.processes.length; i++) { - let config = global.TASK_NODE.bot.processes[i].config - let process = global.TASK_NODE.bot.processes[i] + if (TS.projects.superalgos.globals.taskConstants.TASK_NODE !== undefined) { + for (let i = 0; i < TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes.length; i++) { + let config = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[i].config + let process = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[i] let key = process.name + '-' + process.type + '-' + process.id global.EVENT_SERVER_CLIENT_MODULE.raiseEvent(key, 'Stopped') // Meaning Process Stopped diff --git a/Projects/Superalgos/TS/Function-Libraries/TaskFunctions.js b/Projects/Superalgos/TS/Function-Libraries/TaskFunctions.js index 430ed3fef..d83888352 100644 --- a/Projects/Superalgos/TS/Function-Libraries/TaskFunctions.js +++ b/Projects/Superalgos/TS/Function-Libraries/TaskFunctions.js @@ -20,7 +20,7 @@ exports.newSuperalgosFunctionLibrariesTaskFunctions = function () { errorMessage: errorMessage } } - let key = global.TASK_NODE.name + '-' + global.TASK_NODE.type + '-' + global.TASK_NODE.id + let key = TS.projects.superalgos.globals.taskConstants.TASK_NODE.name + '-' + TS.projects.superalgos.globals.taskConstants.TASK_NODE.type + '-' + TS.projects.superalgos.globals.taskConstants.TASK_NODE.id global.EVENT_SERVER_CLIENT_MODULE.raiseEvent(key, 'Error', event) } } \ No newline at end of file diff --git a/Projects/Superalgos/TS/Globals/TaskConstants.js b/Projects/Superalgos/TS/Globals/TaskConstants.js new file mode 100644 index 000000000..609d684b1 --- /dev/null +++ b/Projects/Superalgos/TS/Globals/TaskConstants.js @@ -0,0 +1,13 @@ +exports.newSuperalgosGlobalsTaskConstants = function () { + /* + This values are set only once with the information received from whoever + is starting the task. + */ + let thisObject = { + TASK_NODE: undefined, + NETWORK_NODE: undefined, + PROJECTS_SCHEMA: undefined + } + + return thisObject +} \ No newline at end of file diff --git a/TaskServer/DataSet.js b/TaskServer/DataSet.js index add00c8de..630dd572d 100644 --- a/TaskServer/DataSet.js +++ b/TaskServer/DataSet.js @@ -78,7 +78,7 @@ exports.newDataSet = function newDataSet(BOT, logger) { } /* Now we will see where do we need to fetch this data from. */ - let network = global.TASK_NETWORK + let network = TS.projects.superalgos.globals.taskConstants.NETWORK_NODE let datasetProductDefinition = thisObject.node.parentNode let nodeArray = TS.projects.superalgos.utilities.nodeFunctions.nodeMeshToPathArray(network, datasetProductDefinition.id) diff --git a/TaskServer/IndicatorBot.js b/TaskServer/IndicatorBot.js index 5d017a8db..baca4bbd4 100644 --- a/TaskServer/IndicatorBot.js +++ b/TaskServer/IndicatorBot.js @@ -107,7 +107,7 @@ logger.finalize() } logger = DEBUG_MODULE.newDebugLog(); - TS.projects.superalgos.globals.taskVariables.LOGGER_MAP.set(MODULE_NAME + global.TASK_NODE.bot.processes[processIndex].id, logger) + TS.projects.superalgos.globals.taskVariables.LOGGER_MAP.set(MODULE_NAME + TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].id, logger) logger.bot = bot; logger.initialize(); diff --git a/TaskServer/MultiProject.js b/TaskServer/MultiProject.js index 2c7eddbdf..6d2c76cb9 100644 --- a/TaskServer/MultiProject.js +++ b/TaskServer/MultiProject.js @@ -14,8 +14,8 @@ exports.newMultiProject = function () { global.TS = { projects: {} } - for (let i = 0; i < PROJECTS_SCHEMA.length; i++) { - let projectDefinition = PROJECTS_SCHEMA[i] + for (let i = 0; i < global.PROJECTS_SCHEMA.length; i++) { + let projectDefinition = global.PROJECTS_SCHEMA[i] global.TS.projects[projectDefinition.propertyName] = {} let projectInstance = global.TS.projects[projectDefinition.propertyName] diff --git a/TaskServer/NodeJsProcess.js b/TaskServer/NodeJsProcess.js index 0c31c5fb8..7d257aee3 100644 --- a/TaskServer/NodeJsProcess.js +++ b/TaskServer/NodeJsProcess.js @@ -24,9 +24,9 @@ exports.newNodeJsProcess = function newNodeJsProcess() { process.on('exit', function (config) { - if (global.TASK_NODE !== undefined) { + if (TS.projects.superalgos.globals.taskConstants.TASK_NODE !== undefined) { /* We send an event signaling that the Task is being terminated. */ - let key = global.TASK_NODE.name + '-' + global.TASK_NODE.type + '-' + global.TASK_NODE.id + let key = TS.projects.superalgos.globals.taskConstants.TASK_NODE.name + '-' + TS.projects.superalgos.globals.taskConstants.TASK_NODE.type + '-' + TS.projects.superalgos.globals.taskConstants.TASK_NODE.id global.EVENT_SERVER_CLIENT_MODULE.raiseEvent(key, 'Stopped') // Meaning Task Stopped global.EVENT_SERVER_CLIENT_MODULE.finalize() @@ -46,7 +46,7 @@ exports.newNodeJsProcess = function newNodeJsProcess() { There are some process that might no be able to end grafully, for example the ones schedulle to process information in a future day or month. In order to be sure that the process will be terminated, we schedulle one forced exit in 2 minutes from now. */ - let key = global.TASK_NODE.name + '-' + global.TASK_NODE.type + let key = TS.projects.superalgos.globals.taskConstants.TASK_NODE.name + '-' + TS.projects.superalgos.globals.taskConstants.TASK_NODE.type console.log('[INFO] Task Server -> Node JS Process -> process.on -> Stopping Task ' + key + '. Nodejs process will be exited in less than 1 minute.') setTimeout(TS.projects.superalgos.functionLibraries.nodeJSFunctions.exitProcess, 60000); } diff --git a/TaskServer/ProcessExecutionEvents.js b/TaskServer/ProcessExecutionEvents.js index 8be95ef5f..9ed8d1a25 100644 --- a/TaskServer/ProcessExecutionEvents.js +++ b/TaskServer/ProcessExecutionEvents.js @@ -82,7 +82,7 @@ processConfig.waitsForExecutionFinishedEvent = true /* We need to find at which network node is running the process that we need to hear from when it finished. */ - let network = global.TASK_NETWORK + let network = TS.projects.superalgos.globals.taskConstants.NETWORK_NODE /* Notice that the first task that matches the dependency is going to be considered. diff --git a/TaskServer/ProcessInstance.js b/TaskServer/ProcessInstance.js index 6412835ba..cfc2854b8 100644 --- a/TaskServer/ProcessInstance.js +++ b/TaskServer/ProcessInstance.js @@ -21,37 +21,37 @@ let botInstance - let botConfig = global.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.config - let processConfig = global.TASK_NODE.bot.processes[processIndex].referenceParent.config + let botConfig = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.config + let processConfig = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config /* We will use a logger for what happens before and after the bot main loop. We will add the process id to its key so that it is unique and it can later be finalized. */ let logger = DEBUG_MODULE.newDebugLog() - TS.projects.superalgos.globals.taskVariables.LOGGER_MAP.set('Pre-Bot-Main-Loop' + global.TASK_NODE.bot.processes[processIndex].id, logger) + TS.projects.superalgos.globals.taskVariables.LOGGER_MAP.set('Pre-Bot-Main-Loop' + TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].id, logger) logger.bot = botConfig; - botConfig.process = global.TASK_NODE.bot.processes[processIndex].referenceParent.config.codeName + botConfig.process = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.codeName botConfig.debug = {}; - botConfig.processNode = global.TASK_NODE.bot.processes[processIndex] + botConfig.processNode = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex] /* Logs Mantainance Stuff */ botConfig.LOGS_TO_DELETE_QUEUE = [] botConfig.DELETE_QUEUE_SIZE = 10 // This number represents how many log files can be at the queue at any point in time, which means how many logs are not still deleted. /* Simplifying the access to basic info */ - botConfig.dataMine = global.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.parentNode.config.codeName - botConfig.mineType = global.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.parentNode.type.replace(' ', '-') - botConfig.project = global.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.parentNode.project - botConfig.exchange = global.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.parentNode.parentNode.name - botConfig.exchangeNode = global.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.parentNode.parentNode + botConfig.dataMine = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.parentNode.config.codeName + botConfig.mineType = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.parentNode.type.replace(' ', '-') + botConfig.project = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.parentNode.project + botConfig.exchange = TS.projects.superalgos.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.parentNode.parentNode.name + botConfig.exchangeNode = TS.projects.superalgos.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.parentNode.parentNode botConfig.market = { - baseAsset: global.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.baseAsset.referenceParent.config.codeName, - quotedAsset: global.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.quotedAsset.referenceParent.config.codeName + baseAsset: TS.projects.superalgos.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.baseAsset.referenceParent.config.codeName, + quotedAsset: TS.projects.superalgos.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent.quotedAsset.referenceParent.config.codeName } - botConfig.uiStartDate = global.TASK_NODE.bot.config.startDate - botConfig.config = global.TASK_NODE.bot.config + botConfig.uiStartDate = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.config.startDate + botConfig.config = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.config /* Loop Counter */ botConfig.loopCounter = 0; @@ -60,20 +60,20 @@ botConfig.filePathRoot = 'Project/' + botConfig.project + "/" + botConfig.mineType + "/" + botConfig.dataMine + "/" + botConfig.codeName + '/' + botConfig.exchange + "/" + botConfig.market.baseAsset + "-" + botConfig.market.quotedAsset /* Process Key */ - botConfig.processKey = global.TASK_NODE.bot.processes[processIndex].name + '-' + global.TASK_NODE.bot.processes[processIndex].type + '-' + global.TASK_NODE.bot.processes[processIndex].id + botConfig.processKey = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].name + '-' + TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].type + '-' + TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].id /* Bot Type */ - botConfig.type = global.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.type + botConfig.type = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.type /* Time Frame Filter */ - if (global.TASK_NODE.bot.timeFramesFilter !== undefined) { - botConfig.dailyTimeFrames = global.TASK_NODE.bot.timeFramesFilter.config.dailyTimeFrames - botConfig.marketTimeFrames = global.TASK_NODE.bot.timeFramesFilter.config.marketTimeFrames + if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.timeFramesFilter !== undefined) { + botConfig.dailyTimeFrames = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.timeFramesFilter.config.dailyTimeFrames + botConfig.marketTimeFrames = TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.timeFramesFilter.config.marketTimeFrames } - if (global.TASK_NODE.keyReference !== undefined) { - if (global.TASK_NODE.keyReference.referenceParent !== undefined) { - let key = global.TASK_NODE.keyReference.referenceParent + if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.keyReference !== undefined) { + if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.keyReference.referenceParent !== undefined) { + let key = TS.projects.superalgos.globals.taskConstants.TASK_NODE.keyReference.referenceParent botConfig.KEY = key.config.codeName botConfig.SECRET = key.config.secret @@ -315,7 +315,7 @@ } } } catch (err) { - console.log("[ERROR] Task Server -> " + global.TASK_NODE.name + " -> Process Instance -> Start -> Err = " + err.stack); + console.log("[ERROR] Task Server -> " + TS.projects.superalgos.globals.taskConstants.TASK_NODE.name + " -> Process Instance -> Start -> Err = " + err.stack); } } } diff --git a/TaskServer/ReinforcementLearning/LearningBot.js b/TaskServer/ReinforcementLearning/LearningBot.js index e7f82e666..4550e5370 100644 --- a/TaskServer/ReinforcementLearning/LearningBot.js +++ b/TaskServer/ReinforcementLearning/LearningBot.js @@ -64,7 +64,7 @@ exports.newLearningBot = function newLearningBot(processIndex, bot, parentLogger logger.finalize() } logger = DEBUG_MODULE.newDebugLog(); - TS.projects.superalgos.globals.taskVariables.LOGGER_MAP.set(MODULE_NAME + global.TASK_NODE.bot.processes[processIndex].id, logger) + TS.projects.superalgos.globals.taskVariables.LOGGER_MAP.set(MODULE_NAME + TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].id, logger) logger.bot = bot; logger.initialize(); diff --git a/TaskServer/SensorBot.js b/TaskServer/SensorBot.js index 147afd604..2b7e81684 100644 --- a/TaskServer/SensorBot.js +++ b/TaskServer/SensorBot.js @@ -114,7 +114,7 @@ logger.finalize() } logger = DEBUG_MODULE.newDebugLog(); - TS.projects.superalgos.globals.taskVariables.LOGGER_MAP.set(MODULE_NAME + global.TASK_NODE.bot.processes[processIndex].id, logger) + TS.projects.superalgos.globals.taskVariables.LOGGER_MAP.set(MODULE_NAME + TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].id, logger) logger.bot = bot; logger.initialize(); diff --git a/TaskServer/StatusReport.js b/TaskServer/StatusReport.js index 7993ee4d1..c93ba9673 100644 --- a/TaskServer/StatusReport.js +++ b/TaskServer/StatusReport.js @@ -111,7 +111,7 @@ } /* Now we will see where do we need to fetch this status report from. */ - let network = global.TASK_NETWORK + let network = TS.projects.superalgos.globals.taskConstants.NETWORK_NODE let processThisDependsOn = statusDependencyNode.referenceParent.parentNode for (let i = 0; i < network.networkNodes.length; i++) { diff --git a/TaskServer/Task.js b/TaskServer/Task.js index 664cad819..63151891e 100644 --- a/TaskServer/Task.js +++ b/TaskServer/Task.js @@ -27,7 +27,7 @@ function preLoader() { try { setUpAppSchema(JSON.parse(message.event.projectSchemas)) global.TASK_NODE = JSON.parse(message.event.taskDefinition) - global.TASK_NETWORK = JSON.parse(message.event.networkDefinition) + global.NETWORK_NODE = JSON.parse(message.event.networkDefinition) global.PROJECTS_SCHEMA = JSON.parse(message.event.projectsSchema) bootingProcess() } catch (err) { @@ -35,8 +35,8 @@ function preLoader() { } } } catch (err) { - console.log('[ERROR] Task Server -> Task -> preLoader -> global.TASK_NODE -> ' + err.stack) - console.log('[ERROR] Task Server -> Task -> preLoader -> global.TASK_NODE = ' + JSON.stringify(global.TASK_NODE).substring(0, 1000)) + console.log('[ERROR] Task Server -> Task -> preLoader -> TS.projects.superalgos.globals.taskConstants.TASK_NODE -> ' + err.stack) + console.log('[ERROR] Task Server -> Task -> preLoader -> TS.projects.superalgos.globals.taskConstants.TASK_NODE = ' + JSON.stringify(TS.projects.superalgos.globals.taskConstants.TASK_NODE).substring(0, 1000)) } } else { @@ -51,7 +51,7 @@ function preLoader() { try { setUpAppSchema(JSON.parse(message.event.projectSchemas)) global.TASK_NODE = JSON.parse(message.event.taskDefinition) - global.TASK_NETWORK = JSON.parse(message.event.networkDefinition) + global.NETWORK_NODE = JSON.parse(message.event.networkDefinition) global.PROJECTS_SCHEMA = JSON.parse(message.event.projectsSchema) bootingProcess() @@ -60,8 +60,8 @@ function preLoader() { } } } catch (err) { - console.log('[ERROR] Task Server -> Task -> preLoader -> global.TASK_NODE -> ' + err.stack) - console.log('[ERROR] Task Server -> Task -> preLoader -> global.TASK_NODE = ' + JSON.stringify(global.TASK_NODE).substring(0, 1000)) + console.log('[ERROR] Task Server -> Task -> preLoader -> TS.projects.superalgos.globals.taskConstants.TASK_NODE -> ' + err.stack) + console.log('[ERROR] Task Server -> Task -> preLoader -> TS.projects.superalgos.globals.taskConstants.TASK_NODE = ' + JSON.stringify(TS.projects.superalgos.globals.taskConstants.TASK_NODE).substring(0, 1000)) } } @@ -83,6 +83,7 @@ function preLoader() { function bootingProcess() { setupMultiProjectFramework() + initializeTaskConstants() setupTaskHeartbeats() function setupMultiProjectFramework() { @@ -91,9 +92,21 @@ function bootingProcess() { MULTI_PROJECT_MODULE.initialize() } + function initializeTaskConstants() { + /* + These constants could not be initialized before since they are received via websockets. + */ + TS.projects.superalgos.globals.taskConstants.TASK_NODE = global.TASK_NODE + global.TASK_NODE = undefined + TS.projects.superalgos.globals.taskConstants.NETWORK_NODE = global.NETWORK_NODE + NETWORK_NODE = undefined + TS.projects.superalgos.globals.taskConstants.PROJECTS_SCHEMA = global.PROJECTS_SCHEMA + global.PROJECTS_SCHEMA = undefined + } + function setupTaskHeartbeats() { /* Heartbeat sent to the UI */ - let key = global.TASK_NODE.name + '-' + global.TASK_NODE.type + '-' + global.TASK_NODE.id + let key = TS.projects.superalgos.globals.taskConstants.TASK_NODE.name + '-' + TS.projects.superalgos.globals.taskConstants.TASK_NODE.type + '-' + TS.projects.superalgos.globals.taskConstants.TASK_NODE.id global.EVENT_SERVER_CLIENT_MODULE.createEventHandler(key) global.EVENT_SERVER_CLIENT_MODULE.raiseEvent(key, 'Running') // Meaning Task Running @@ -108,33 +121,31 @@ function bootingProcess() { global.EVENT_SERVER_CLIENT_MODULE.raiseEvent(key, 'Heartbeat', event) } } - - for (let processIndex = 0; processIndex < global.TASK_NODE.bot.processes.length; processIndex++) { - let config = global.TASK_NODE.bot.processes[processIndex].config + + for (let processIndex = 0; processIndex < TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes.length; processIndex++) { /* Validate that the minimun amount of input required are defined. */ - - if (global.TASK_NODE.parentNode === undefined) { - console.log("[ERROR] Task Server -> Task -> bootingProcess -> Task without a Task Manager. This process will not be executed. -> Process Instance = " + JSON.stringify(global.TASK_NODE.bot.processes[processIndex])); + if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.parentNode === undefined) { + console.log("[ERROR] Task Server -> Task -> bootingProcess -> Task without a Task Manager. This process will not be executed. -> Process Instance = " + JSON.stringify(TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex])); continue } - if (global.TASK_NODE.parentNode.parentNode === undefined) { - console.log("[ERROR] Task Server -> Task -> bootingProcess -> Task Manager without Mine Tasks. This process will not be executed. -> Process Instance = " + JSON.stringify(global.TASK_NODE.bot.processes[processIndex])); + if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.parentNode.parentNode === undefined) { + console.log("[ERROR] Task Server -> Task -> bootingProcess -> Task Manager without Mine Tasks. This process will not be executed. -> Process Instance = " + JSON.stringify(TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex])); continue } - if (global.TASK_NODE.parentNode.parentNode.parentNode === undefined) { - console.log("[ERROR] Task Server -> Task -> bootingProcess -> Mine Tasks without Market Tasks. This process will not be executed. -> Process Instance = " + JSON.stringify(global.TASK_NODE.bot.processes[processIndex])); + if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode === undefined) { + console.log("[ERROR] Task Server -> Task -> bootingProcess -> Mine Tasks without Market Tasks. This process will not be executed. -> Process Instance = " + JSON.stringify(TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex])); continue } - if (global.TASK_NODE.parentNode.parentNode.parentNode.referenceParent === undefined) { - console.log("[ERROR] Task Server -> Task -> bootingProcess -> Market Tasks without a Market. This process will not be executed. -> Process Instance = " + JSON.stringify(global.TASK_NODE.bot.processes[processIndex])); + if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent === undefined) { + console.log("[ERROR] Task Server -> Task -> bootingProcess -> Market Tasks without a Market. This process will not be executed. -> Process Instance = " + JSON.stringify(TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex])); continue } - global.MARKET_NODE = global.TASK_NODE.parentNode.parentNode.parentNode.referenceParent + global.MARKET_NODE = TS.projects.superalgos.globals.taskConstants.TASK_NODE.parentNode.parentNode.parentNode.referenceParent if (global.MARKET_NODE.parentNode === undefined) { console.log("[ERROR] Task Server -> Task -> bootingProcess -> Market without a Parent. This process will not be executed. -> Process Instance = " + JSON.stringify(global.MARKET_NODE)); @@ -166,33 +177,33 @@ function bootingProcess() { continue } - if (global.TASK_NODE.bot.processes[processIndex].referenceParent === undefined) { - console.log("[ERROR] Task Server -> Task -> bootingProcess -> Process Instance without a Reference Parent. This process will not be executed. -> Process Instance = " + JSON.stringify(global.TASK_NODE.bot.processes[processIndex])); + if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent === undefined) { + console.log("[ERROR] Task Server -> Task -> bootingProcess -> Process Instance without a Reference Parent. This process will not be executed. -> Process Instance = " + JSON.stringify(TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex])); continue } - if (global.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode === undefined) { - console.log("[ERROR] Task Server -> Task -> bootingProcess -> Process Definition without parent Bot Definition. -> Process Definition = " + JSON.stringify(global.TASK_NODE.bot.processes[processIndex].referenceParent)); + if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode === undefined) { + console.log("[ERROR] Task Server -> Task -> bootingProcess -> Process Definition without parent Bot Definition. -> Process Definition = " + JSON.stringify(TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent)); continue } - if (global.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.parentNode === undefined) { - console.log("[ERROR] Task Server -> Task -> bootingProcess -> Bot Definition without parent Data Mine. -> Bot Definition = " + JSON.stringify(global.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode)); + if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.parentNode === undefined) { + console.log("[ERROR] Task Server -> Task -> bootingProcess -> Bot Definition without parent Data Mine. -> Bot Definition = " + JSON.stringify(TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode)); continue } - if (global.TASK_NODE.bot.processes[processIndex].referenceParent.config.codeName === undefined) { - console.log("[ERROR] Task Server -> Task -> bootingProcess -> Process Definition without a codeName defined. -> Process Definition = " + JSON.stringify(global.TASK_NODE.bot.processes[processIndex].referenceParent)); + if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.config.codeName === undefined) { + console.log("[ERROR] Task Server -> Task -> bootingProcess -> Process Definition without a codeName defined. -> Process Definition = " + JSON.stringify(TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent)); continue } - if (global.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.config.codeName === undefined) { - console.log("[ERROR] Task Server -> Task -> bootingProcess -> Bot Definition without a codeName defined. -> Bot Definition = " + JSON.stringify(global.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode)); + if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.config.codeName === undefined) { + console.log("[ERROR] Task Server -> Task -> bootingProcess -> Bot Definition without a codeName defined. -> Bot Definition = " + JSON.stringify(TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode)); continue } - if (global.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.parentNode.config.codeName === undefined) { - console.log("[ERROR] Task Server -> Task -> bootingProcess -> Data Mine without a codeName defined. -> Data Mine Definition = " + JSON.stringify(global.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.parentNode)); + if (TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.parentNode.config.codeName === undefined) { + console.log("[ERROR] Task Server -> Task -> bootingProcess -> Data Mine without a codeName defined. -> Data Mine Definition = " + JSON.stringify(TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].referenceParent.parentNode.parentNode)); continue } diff --git a/TaskServer/TradingBot.js b/TaskServer/TradingBot.js index 7ab94b0cb..67005bbc3 100644 --- a/TaskServer/TradingBot.js +++ b/TaskServer/TradingBot.js @@ -64,7 +64,7 @@ logger.finalize() } logger = DEBUG_MODULE.newDebugLog(); - TS.projects.superalgos.globals.taskVariables.LOGGER_MAP.set(MODULE_NAME + global.TASK_NODE.bot.processes[processIndex].id, logger) + TS.projects.superalgos.globals.taskVariables.LOGGER_MAP.set(MODULE_NAME + TS.projects.superalgos.globals.taskConstants.TASK_NODE.bot.processes[processIndex].id, logger) logger.bot = bot; logger.initialize();