From cdb7bb14f8b39f2e378957a56dca94ac16ce6ce5 Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Sun, 30 Aug 2020 16:03:27 +0200 Subject: [PATCH] APP SCHEMA from session to task --- LowFrequencyTrading/Snapshots.js | 2 +- LowFrequencyTrading/TradingEngine.js | 6 +++--- LowFrequencyTrading/TradingSystem.js | 2 +- Session.js | 12 ------------ server.js | 20 ++++++++++++++++++-- 5 files changed, 23 insertions(+), 19 deletions(-) diff --git a/LowFrequencyTrading/Snapshots.js b/LowFrequencyTrading/Snapshots.js index 50440f924..6f1b02c5a 100644 --- a/LowFrequencyTrading/Snapshots.js +++ b/LowFrequencyTrading/Snapshots.js @@ -124,7 +124,7 @@ exports.newSnapshots = function newSnapshots(bot, logger) { } /* Now we go down through all this node children */ - let nodeDefinition = bot.APP_SCHEMA_MAP.get(node.type) + let nodeDefinition = global.APP_SCHEMA_MAP.get(node.type) if (nodeDefinition === undefined) { return } if (nodeDefinition.properties !== undefined) { diff --git a/LowFrequencyTrading/TradingEngine.js b/LowFrequencyTrading/TradingEngine.js index 1b75ee82f..b9dc6f889 100644 --- a/LowFrequencyTrading/TradingEngine.js +++ b/LowFrequencyTrading/TradingEngine.js @@ -99,7 +99,7 @@ exports.newTradingEngine = function newTradingEngine(bot, logger) { destinationNode.value = originNode.value /* Now we go down through all the children of the origin node, assuming the destination node has the same children structure*/ - let nodeDefinition = bot.APP_SCHEMA_MAP.get(originNode.type) + let nodeDefinition = global.APP_SCHEMA_MAP.get(originNode.type) if (nodeDefinition === undefined) { return } if (nodeDefinition.properties !== undefined) { @@ -138,7 +138,7 @@ exports.newTradingEngine = function newTradingEngine(bot, logger) { nodesMap.set(node.id, node) /* Now we go down through all this node children */ - let nodeDefinition = bot.APP_SCHEMA_MAP.get(node.type) + let nodeDefinition = global.APP_SCHEMA_MAP.get(node.type) if (nodeDefinition === undefined) { return } if (nodeDefinition.properties !== undefined) { @@ -181,7 +181,7 @@ exports.newTradingEngine = function newTradingEngine(bot, logger) { } /* Now we go down through all this node children */ - let nodeDefinition = bot.APP_SCHEMA_MAP.get(node.type) + let nodeDefinition = global.APP_SCHEMA_MAP.get(node.type) if (nodeDefinition === undefined) { return } if (nodeDefinition.properties !== undefined) { diff --git a/LowFrequencyTrading/TradingSystem.js b/LowFrequencyTrading/TradingSystem.js index 479ed7b66..36b6b40e4 100644 --- a/LowFrequencyTrading/TradingSystem.js +++ b/LowFrequencyTrading/TradingSystem.js @@ -182,7 +182,7 @@ exports.newTradingSystem = function newTradingSystem(bot, logger, tradingEngineM } /* Now we go down through all this node children */ - let nodeDefinition = bot.APP_SCHEMA_MAP.get(node.type) + let nodeDefinition = global.APP_SCHEMA_MAP.get(node.type) if (nodeDefinition === undefined) { return } if (nodeDefinition.properties !== undefined) { diff --git a/Session.js b/Session.js index 211c38946..88682d775 100644 --- a/Session.js +++ b/Session.js @@ -57,7 +57,6 @@ if (bot.SESSION_STATUS === 'Idle' || bot.SESSION_STATUS === 'Running') { return } // This happens when the UI is reloaded, the session was running and tries to run it again. /* We are going to run the Definition comming at the event. */ - bot.APP_SCHEMA_ARRAY = JSON.parse(message.event.appSchema) bot.TRADING_SYSTEM = JSON.parse(message.event.tradingSystem) bot.TRADING_ENGINE = JSON.parse(message.event.tradingEngine) bot.SESSION = JSON.parse(message.event.session) @@ -66,7 +65,6 @@ bot.FIRST_EXECUTION = true bot.SESSION.stop = stopSession // stop function - setUpAppSchema() setUpSessionFolderName() /* We validate all parameters received and complete some that might be missing if needed. */ @@ -118,16 +116,6 @@ sessionInfo(bot.SESSION, commandOrigin) } - function setUpAppSchema() { - /* Setup the APP_SCHEMA_MAP based on the APP_SCHEMA_ARRAY */ - bot.APP_SCHEMA_MAP = new Map() - for (let i = 0; i < bot.APP_SCHEMA_ARRAY.length; i++) { - let nodeDefinition = bot.APP_SCHEMA_ARRAY[i] - let key = nodeDefinition.type - bot.APP_SCHEMA_MAP.set(key, nodeDefinition) - } - } - function setUpSessionFolderName() { /* The session object is overwritten when the session is run. For that reason we diff --git a/server.js b/server.js index f3473bda2..02cd778c6 100644 --- a/server.js +++ b/server.js @@ -102,6 +102,10 @@ global.PROCESS_INFO = function (processKey, node, infoMessage) { global.EVENT_SERVER_CLIENT.raiseEvent(processKey, 'Info', event) } +global.NODE_BRANCH_TO_ARRAY = function (node, nodeType) { + +} + process.on('uncaughtException', function (err) { console.log('[ERROR] Task Server -> server -> uncaughtException -> err.message = ' + err.message) console.log('[ERROR] Task Server -> server -> uncaughtException -> err.stack = ' + err.stack) @@ -230,7 +234,8 @@ function preLoader() { global.EVENT_SERVER_CLIENT.listenToEvent('Task Server - ' + taskId, 'Run Task', undefined, 'Task Server - ' + taskId, undefined, eventReceived) global.EVENT_SERVER_CLIENT.raiseEvent('Task Manager - ' + taskId, 'Nodejs Process Ready for Task') function eventReceived(message) { - global.TASK_NODE = message + global.APP_SCHEMA_ARRAY = JSON.parse(message.event.appSchema) + setUpAppSchema() global.TASK_NODE = JSON.parse(message.event.taskDefinition) global.TASK_NETWORK = JSON.parse(message.event.networkDefinition) bootLoader() @@ -245,7 +250,8 @@ function preLoader() { //console.log('[INFO] Task Server -> server -> preLoader -> Waiting for event to start debugging...') global.EVENT_SERVER_CLIENT.listenToEvent('Task Server', 'Debug Task Started', undefined, 'Task Server', undefined, startDebugging) function startDebugging(message) { - global.TASK_NODE = message + global.APP_SCHEMA_ARRAY = JSON.parse(message.event.appSchema) + setUpAppSchema() global.TASK_NODE = JSON.parse(message.event.taskDefinition) global.TASK_NETWORK = JSON.parse(message.event.networkDefinition) bootLoader() @@ -255,6 +261,16 @@ function preLoader() { console.log('[ERROR] Task Server -> server -> preLoader -> global.TASK_NODE = ' + JSON.stringify(global.TASK_NODE).substring(0, 1000)) } } + + function setUpAppSchema() { + /* Setup the APP_SCHEMA_MAP based on the APP_SCHEMA_ARRAY */ + global.APP_SCHEMA_MAP = new Map() + for (let i = 0; i < global.APP_SCHEMA_ARRAY.length; i++) { + let nodeDefinition = global.APP_SCHEMA_ARRAY[i] + let key = nodeDefinition.type + global.APP_SCHEMA_MAP.set(key, nodeDefinition) + } + } } function bootLoader() {