From 0bbcc4588c077604a85a634ab4d0e0e9f5b85d1d Mon Sep 17 00:00:00 2001 From: Luis Fernando Molina Date: Wed, 7 Mar 2018 20:20:42 +0100 Subject: [PATCH] Azure File Storage Initialization debugged --- .vs/AACloudPlatform/v15/.suo | Bin 74240 -> 73216 bytes AAMariam.azure.storage.connstring | 7 ---- AAOlivia.azure.storage.connstring | 7 ---- AATom.azure.storage.connstring | 7 ---- Assistant.js | 1 + Azure File Storage.js | 60 ++++++++++++++++++++---------- Bruce.azure.storage.connstring | 7 ---- Carol.azure.storage.connstring | 7 ---- Charly.azure.storage.connstring | 7 ---- Context.js | 1 + Datasource.js | 2 +- ExchangeAPI.js | 1 + Legacy.azure.storage.connstring | 7 ---- Run.js | 4 +- TradingBot.js | 32 ++++++++-------- 15 files changed, 63 insertions(+), 87 deletions(-) delete mode 100644 AAMariam.azure.storage.connstring delete mode 100644 AAOlivia.azure.storage.connstring delete mode 100644 AATom.azure.storage.connstring delete mode 100644 Bruce.azure.storage.connstring delete mode 100644 Carol.azure.storage.connstring delete mode 100644 Charly.azure.storage.connstring delete mode 100644 Legacy.azure.storage.connstring diff --git a/.vs/AACloudPlatform/v15/.suo b/.vs/AACloudPlatform/v15/.suo index 01866f77d78f51341f0d89c60431d51cc4c736c3..aac30a4db7bf776b26a2f22ff7a3122bd00985e8 100644 GIT binary patch delta 3094 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 OMO0899hV*u_WuK)(7t&9 diff --git a/AAMariam.azure.storage.connstring b/AAMariam.azure.storage.connstring deleted file mode 100644 index 94e460b0e..000000000 --- a/AAMariam.azure.storage.connstring +++ /dev/null @@ -1,7 +0,0 @@ -{ -"useDevelopmentStorage": false, -"connectionString": "DefaultEndpointsProtocol=https;AccountName=aatestnet;AccountKey=rQRuD8KeD0upqcN9532zqZTknKwkYJDpGzkATGptk9lIEovkLchdOGOJVld26cUjpzTA4enxsxpCB33B0pOZRg==;EndpointSuffix=core.windows.net", -"accountName": "", -"accountKey": "", -"sas": "" -} \ No newline at end of file diff --git a/AAOlivia.azure.storage.connstring b/AAOlivia.azure.storage.connstring deleted file mode 100644 index 94e460b0e..000000000 --- a/AAOlivia.azure.storage.connstring +++ /dev/null @@ -1,7 +0,0 @@ -{ -"useDevelopmentStorage": false, -"connectionString": "DefaultEndpointsProtocol=https;AccountName=aatestnet;AccountKey=rQRuD8KeD0upqcN9532zqZTknKwkYJDpGzkATGptk9lIEovkLchdOGOJVld26cUjpzTA4enxsxpCB33B0pOZRg==;EndpointSuffix=core.windows.net", -"accountName": "", -"accountKey": "", -"sas": "" -} \ No newline at end of file diff --git a/AATom.azure.storage.connstring b/AATom.azure.storage.connstring deleted file mode 100644 index 94e460b0e..000000000 --- a/AATom.azure.storage.connstring +++ /dev/null @@ -1,7 +0,0 @@ -{ -"useDevelopmentStorage": false, -"connectionString": "DefaultEndpointsProtocol=https;AccountName=aatestnet;AccountKey=rQRuD8KeD0upqcN9532zqZTknKwkYJDpGzkATGptk9lIEovkLchdOGOJVld26cUjpzTA4enxsxpCB33B0pOZRg==;EndpointSuffix=core.windows.net", -"accountName": "", -"accountKey": "", -"sas": "" -} \ No newline at end of file diff --git a/Assistant.js b/Assistant.js index 00f591499..adab23e4a 100644 --- a/Assistant.js +++ b/Assistant.js @@ -20,6 +20,7 @@ const logger = DEBUG_MODULE.newDebugLog(); logger.fileName = MODULE_NAME; + logger.bot = bot; let exchangePositions = []; // These are the open positions at the exchange at the account the bot is authorized to use. let openPositions = []; // These are the open positions the bot knows it made by itself. diff --git a/Azure File Storage.js b/Azure File Storage.js index 62e538245..88838ed24 100644 --- a/Azure File Storage.js +++ b/Azure File Storage.js @@ -15,7 +15,7 @@ exports.newAzureFileStorage = function newAzureFileStorage(BOT) { const DEBUG_MODULE = require('./Debug Log'); const logger = DEBUG_MODULE.newDebugLog(); - logger.pFileName = MODULE_NAME; + logger.fileName = MODULE_NAME; logger.bot = bot; const shareName = 'data'; @@ -45,28 +45,50 @@ exports.newAzureFileStorage = function newAzureFileStorage(BOT) { dataOwner = pDataOwnerBotCodeName; } - fileService = storage.createFileService(readConfig().connectionString); + readConnectionStringConfigFile(onConnectionStringReady); - callBackFunction(global.DEFAULT_OK_RESPONSE); + function onConnectionStringReady(err, pConnObj) { + + if (err.result !== global.DEFAULT_OK_RESPONSE.result) { + logger.write("[ERROR] initialize -> onConnectionStringReady -> err = " + err.message); + callBackFunction(err); + return; + } + + try { + fileService = storage.createFileService(pConnObj.connectionString); + callBackFunction(global.DEFAULT_OK_RESPONSE); + + } catch (err) { + + logger.write("[ERROR] initialize -> onConnectionStringReady -> createFileService -> err = " + err.message); + callBackFunction(err); + return; + } + } + + function readConnectionStringConfigFile(callBack) { + + let filePath; + + try { + let fs = require('fs'); + filePath = '../' + 'Connection-Strings' + '/' + global.RUNNING_MODE + '/' + dataOwner + '.azure.storage.connstring'; + let connObj = JSON.parse(fs.readFileSync(filePath, 'utf8')); + + callBack(global.DEFAULT_OK_RESPONSE, connObj); + } + catch (err) { + logger.write("[ERROR] readConnectionStringConfigFile -> err = " + err.message); + logger.write("[HINT] readConnectionStringConfigFile -> You need to have a file at this path -> " + filePath); + logger.write("[HINT] readConnectionStringConfigFile -> The file must have the connection string to the Azure Storage Account. Request the file to an AA Team Member if you dont have it."); + callBackFunction(global.DEFAULT_FAIL_RESPONSE); + } + } } catch (err) { logger.write("[ERROR] initialize -> err = " + err.message); - callBackFunction(global.DEFAULT_FAIL_RESPONSE); - } - } - - function readConfig() { - - try { - let fs = require('fs'); - let filePath = '../' + 'Connection-Strings' + '/' + global.RUNNING_MODE + '/' + dataOwner + '.azure.storage.connstring' + '.json'; - return JSON.parse(fs.readFileSync(filePath, 'utf8')); - } - catch (err) { - logger.write("[ERROR] readConfig -> err = " + err.message); - logger.write("[HINT] You need to have a file at this path -> " + filePath); - logger.write("[HINT] The file must have the connection string to the Azure Storage Account. Request the file to an AA Team Member if you dont have it."); - callBackFunction(global.DEFAULT_FAIL_RESPONSE); + callBack(global.DEFAULT_FAIL_RESPONSE); } } diff --git a/Bruce.azure.storage.connstring b/Bruce.azure.storage.connstring deleted file mode 100644 index 94e460b0e..000000000 --- a/Bruce.azure.storage.connstring +++ /dev/null @@ -1,7 +0,0 @@ -{ -"useDevelopmentStorage": false, -"connectionString": "DefaultEndpointsProtocol=https;AccountName=aatestnet;AccountKey=rQRuD8KeD0upqcN9532zqZTknKwkYJDpGzkATGptk9lIEovkLchdOGOJVld26cUjpzTA4enxsxpCB33B0pOZRg==;EndpointSuffix=core.windows.net", -"accountName": "", -"accountKey": "", -"sas": "" -} \ No newline at end of file diff --git a/Carol.azure.storage.connstring b/Carol.azure.storage.connstring deleted file mode 100644 index 94e460b0e..000000000 --- a/Carol.azure.storage.connstring +++ /dev/null @@ -1,7 +0,0 @@ -{ -"useDevelopmentStorage": false, -"connectionString": "DefaultEndpointsProtocol=https;AccountName=aatestnet;AccountKey=rQRuD8KeD0upqcN9532zqZTknKwkYJDpGzkATGptk9lIEovkLchdOGOJVld26cUjpzTA4enxsxpCB33B0pOZRg==;EndpointSuffix=core.windows.net", -"accountName": "", -"accountKey": "", -"sas": "" -} \ No newline at end of file diff --git a/Charly.azure.storage.connstring b/Charly.azure.storage.connstring deleted file mode 100644 index 94e460b0e..000000000 --- a/Charly.azure.storage.connstring +++ /dev/null @@ -1,7 +0,0 @@ -{ -"useDevelopmentStorage": false, -"connectionString": "DefaultEndpointsProtocol=https;AccountName=aatestnet;AccountKey=rQRuD8KeD0upqcN9532zqZTknKwkYJDpGzkATGptk9lIEovkLchdOGOJVld26cUjpzTA4enxsxpCB33B0pOZRg==;EndpointSuffix=core.windows.net", -"accountName": "", -"accountKey": "", -"sas": "" -} \ No newline at end of file diff --git a/Context.js b/Context.js index 17cb9412f..a861fb5f5 100644 --- a/Context.js +++ b/Context.js @@ -58,6 +58,7 @@ const logger = DEBUG_MODULE.newDebugLog(); logger.fileName = MODULE_NAME; + logger.bot = bot; /* Storage account to be used here. */ diff --git a/Datasource.js b/Datasource.js index e5640df49..4190d36cd 100644 --- a/Datasource.js +++ b/Datasource.js @@ -22,7 +22,7 @@ const logger = DEBUG_MODULE.newDebugLog(); logger.fileName = MODULE_NAME; - + logger.bot = bot; let marketFilesPeriods = '[' + diff --git a/ExchangeAPI.js b/ExchangeAPI.js index 0cf8b0ed0..c2ac09e49 100644 --- a/ExchangeAPI.js +++ b/ExchangeAPI.js @@ -22,6 +22,7 @@ const logger = DEBUG_MODULE.newDebugLog(); logger.fileName = MODULE_NAME; + logger.bot = bot; let poloniexApiClient; diff --git a/Legacy.azure.storage.connstring b/Legacy.azure.storage.connstring deleted file mode 100644 index 9f6ac1b4c..000000000 --- a/Legacy.azure.storage.connstring +++ /dev/null @@ -1,7 +0,0 @@ -{ -"useDevelopmentStorage": false, -"connectionString": "DefaultEndpointsProtocol=https;AccountName=aadata;AccountKey=YOu76OjlJX9T1QTWbj5cvqyYXTdufW1jISNyrtr8RlUK++kVIdm/TnYuyLJzp8kptAEhbQnN4PP3c6SoPLvR+A==;EndpointSuffix=core.windows.net", -"accountName": "", -"accountKey": "", -"sas": "" -} \ No newline at end of file diff --git a/Run.js b/Run.js index f237d2f75..62ec40e08 100644 --- a/Run.js +++ b/Run.js @@ -201,9 +201,9 @@ function runTradingBot(pProcessConfig) { if (err.result === global.DEFAULT_OK_RESPONSE.result) { - tradingBot.start(whenStartFinishes); + tradingBot.run(whenRunFinishes); - function whenStartFinishes(err) { + function whenRunFinishes(err) { if (err.result === global.DEFAULT_OK_RESPONSE.result) { diff --git a/TradingBot.js b/TradingBot.js index dee106d1b..cd85d020c 100644 --- a/TradingBot.js +++ b/TradingBot.js @@ -15,7 +15,7 @@ thisObject = { initialize: initialize, - start: start + run: run }; let processConfig; @@ -38,17 +38,17 @@ } } - function start(callBackFunction) { + function run(callBackFunction) { try { - if (FULL_LOG === true) { logger.write("[INFO] start -> Entering function."); } + if (FULL_LOG === true) { logger.write("[INFO] run -> Entering function."); } loop(); function loop() { try { - if (FULL_LOG === true) { logger.write("[INFO] start -> loop -> Entering function."); } + if (FULL_LOG === true) { logger.write("[INFO] run -> loop -> Entering function."); } /* We define here all the modules that the rest of the infraestructure, including the bots themselves can consume. */ @@ -88,7 +88,7 @@ if (err.result === global.DEFAULT_OK_RESPONSE.result) { initializeDatasource(); } else { - logger.write("[ERROR] start -> loop -> initializeContext -> err = " + err.message); + logger.write("[ERROR] run -> loop -> initializeContext -> err = " + err.message); callBackFunction(err); } } @@ -104,7 +104,7 @@ if (err.result === global.DEFAULT_OK_RESPONSE.result) { initializeExchangeAPI(); } else { - logger.write("[ERROR] start -> loop -> initializeDatasource -> err = " + err.message); + logger.write("[ERROR] run -> loop -> initializeDatasource -> err = " + err.message); callBackFunction(err); } } @@ -120,7 +120,7 @@ if (err.result === global.DEFAULT_OK_RESPONSE.result) { initializeAssistant(); } else { - logger.write("[ERROR] start -> loop -> initializeExchangeAPI -> err = " + err.message); + logger.write("[ERROR] run -> loop -> initializeExchangeAPI -> err = " + err.message); callBackFunction(err); } } @@ -136,7 +136,7 @@ if (err.result === global.DEFAULT_OK_RESPONSE.result) { initializeUserBot(); } else { - logger.write("[ERROR] start -> loop -> initializeAssistant -> err = " + err.message); + logger.write("[ERROR] run -> loop -> initializeAssistant -> err = " + err.message); callBackFunction(err); } } @@ -160,7 +160,7 @@ if (err.result === global.DEFAULT_OK_RESPONSE.result) { startUserBot(); } else { - logger.write("[ERROR] start -> loop -> initializeUserBot -> err = " + err.message); + logger.write("[ERROR] run -> loop -> initializeUserBot -> err = " + err.message); callBackFunction(err); } } @@ -168,7 +168,7 @@ function startUserBot() { - usertBot.start(platform, onFinished); + usertBot.run(platform, onFinished); function onFinished(err) { @@ -186,7 +186,7 @@ } break; case global.DEFAULT_FAIL_RESPONSE.result: { // This is an unexpected exception that we do not know how to handle. - logger.write("[ERROR] start -> loop -> startUserBot -> Operation Failed. Aborting the process."); + logger.write("[ERROR] run -> loop -> startUserBot -> Operation Failed. Aborting the process."); callBackFunction(err); return; } @@ -204,14 +204,14 @@ if (err.result === global.DEFAULT_OK_RESPONSE.result) { loopControl(nextWaitTime); } else { - logger.write("[ERROR] start -> loop -> saveContext -> err = " + err.message); + logger.write("[ERROR] run -> loop -> saveContext -> err = " + err.message); callBackFunction(err); } } } } catch (err) { - logger.write("[ERROR] start -> loop -> err = " + err.message); + logger.write("[ERROR] run -> loop -> err = " + err.message); callBackFunction(err); } } @@ -222,12 +222,12 @@ switch (nextWaitTime) { case 'Normal': { - if (FULL_LOG === true) { logger.write("[INFO] start -> loopControl -> Restarting Loop in " + (processConfig.executionWaitTime / 1000) + " seconds."); } + if (FULL_LOG === true) { logger.write("[INFO] run -> loopControl -> Restarting Loop in " + (processConfig.executionWaitTime / 1000) + " seconds."); } setTimeout(loop, processConfig.executionWaitTime); } break; case 'Retry': { - if (FULL_LOG === true) { logger.write("[INFO] start -> loopControl -> Restarting Loop in " + (processConfig.retryWaitTime / 1000) + " seconds."); } + if (FULL_LOG === true) { logger.write("[INFO] run -> loopControl -> Restarting Loop in " + (processConfig.retryWaitTime / 1000) + " seconds."); } setTimeout(loop, processConfig.retryWaitTime); } break; @@ -236,7 +236,7 @@ } catch (err) { - logger.write("[ERROR] start -> err = " + err.message); + logger.write("[ERROR] run -> err = " + err.message); } } };