diff --git a/One-Min-Daily-Candles-Volumes/User.bot.js b/One-Min-Daily-Candles-Volumes/User.bot.js index 61fd4dda7..f2ef9d9ab 100644 --- a/One-Min-Daily-Candles-Volumes/User.bot.js +++ b/One-Min-Daily-Candles-Volumes/User.bot.js @@ -60,6 +60,36 @@ if (FULL_LOG === true) { logger.write("[INFO] initialize -> pYear = " + year); } if (FULL_LOG === true) { logger.write("[INFO] initialize -> pMonth = " + month); } + /* The very first validation is about if we are not too far in the future. In those cases we will not proceed and expect this instance to be restarted later. */ + + let processDate = new Date(year + "-" + month + "-1 00:00:00.000 GMT+0000"); + let today = new Date(); + let tomorrow = new Date(today.valueOf() + 1000 * 60 * 60 * 24); + + if (processDate.valueOf() > tomorrow.valueOf()) { // This means that it should start more than a day from current time. + logger.write("[WARN] initialize -> Too far in the future."); + + let customOK = { + result: global.CUSTOM_OK_RESPONSE.result, + message: "Too far in the future." + } + logger.write("[WARN] initialize -> customOK = " + customOK.message); + callBackFunction(customOK); + return; + } + + if (processDate.valueOf() > today.valueOf()) { // This means that is should start in less than a day from current time. + logger.write("[WARN] initialize -> Too far in the future."); + + let customOK = { + result: global.CUSTOM_OK_RESPONSE.result, + message: "Not needed now, but soon." + } + logger.write("[WARN] initialize -> customOK = " + customOK.message); + callBackFunction(customOK); + return; + } + commons.initializeStorage(charlyStorage, bruceStorage, onInizialized); function onInizialized(err) { @@ -100,19 +130,6 @@ let thisDatetime = new Date(); - if ((year === thisDatetime.getUTCFullYear() && month > thisDatetime.getUTCMonth() + 1) || year > thisDatetime.getUTCFullYear()) { - - logger.write("[ERROR] start -> We are too far in the future. Bot will not execute now."); - - let customOK = { - result: global.CUSTOM_OK_RESPONSE.result, - message: "Too far in the future." - } - logger.write("[WARN] start -> getContextVariables -> customOK = " + customOK.message); - callBackFunction(customOK); - return; - } - let atHeadOfMarket; // This tell us if we are at the month which includes the head of the market according to current datetime. if ((parseInt(year) === thisDatetime.getUTCFullYear() && parseInt(month) === thisDatetime.getUTCMonth() + 1)) { atHeadOfMarket = true; @@ -867,53 +884,34 @@ let dateForPath = date.getUTCFullYear() + '/' + utilities.pad(date.getUTCMonth() + 1, 2) + '/' + utilities.pad(date.getUTCDate(), 2); let filePath = bot.filePathRoot + "/Output/" + CANDLES_FOLDER_NAME + '/' + CANDLES_ONE_MIN + '/' + dateForPath; - utilities.createFolderIfNeeded(filePath, bruceStorage, onFolderCreated); + bruceStorage.createTextFile(filePath, fileName, fileContent + '\n', onFileCreated); - function onFolderCreated(err) { + function onFileCreated(err) { try { - if (FULL_LOG === true) { logger.write("[INFO] start -> writeFiles -> writeCandles -> onFolderCreated -> Entering function."); } + if (FULL_LOG === true) { logger.write("[INFO] start -> writeFiles -> writeCandles -> onFileCreated -> Entering function."); } if (err.result !== global.DEFAULT_OK_RESPONSE.result) { - logger.write("[ERROR] start -> writeFiles -> writeCandles -> onFolderCreated -> err = " + err.message); + logger.write("[ERROR] start -> writeFiles -> writeCandles -> onFileCreated -> err = " + err.message); callBackFunction(err); return; } - bruceStorage.createTextFile(filePath, fileName, fileContent + '\n', onFileCreated); - - function onFileCreated(err) { - - try { - - if (FULL_LOG === true) { logger.write("[INFO] start -> writeFiles -> writeCandles -> onFolderCreated -> onFileCreated -> Entering function."); } - - if (err.result !== global.DEFAULT_OK_RESPONSE.result) { - logger.write("[ERROR] start -> writeFiles -> writeCandles -> onFolderCreated -> onFileCreated -> err = " + err.message); - callBackFunction(err); - return; - } - - if (LOG_FILE_CONTENT === true) { - logger.write("[INFO] start -> writeFiles -> writeCandles -> onFolderCreated -> onFileCreated -> fileContent = " + fileContent); - } - - logger.write("[INFO] start -> writeFiles -> writeCandles -> onFolderCreated -> onFileCreated -> Finished with File @ " + market.assetA + "_" + market.assetB + ", " + fileRecordCounter + " records inserted into " + filePath + "/" + fileName + ""); - - writeVolumes(); - - } catch (err) { - logger.write("[ERROR] start -> writeFiles -> writeCandles -> onFolderCreated -> onFileCreated -> err = " + err.message); - callBackFunction(global.DEFAULT_FAIL_RESPONSE); - } + if (LOG_FILE_CONTENT === true) { + logger.write("[INFO] start -> writeFiles -> writeCandles -> onFileCreated -> fileContent = " + fileContent); } + logger.write("[INFO] start -> writeFiles -> writeCandles -> onFileCreated -> Finished with File @ " + market.assetA + "_" + market.assetB + ", " + fileRecordCounter + " records inserted into " + filePath + "/" + fileName + ""); + + writeVolumes(); + } catch (err) { - logger.write("[ERROR] start -> writeFiles -> writeCandles -> onFolderCreated -> err = " + err.message); + logger.write("[ERROR] start -> writeFiles -> writeCandles -> onFileCreated -> err = " + err.message); callBackFunction(global.DEFAULT_FAIL_RESPONSE); } } + } catch (err) { logger.write("[ERROR] start -> writeFiles -> writeCandles -> err = " + err.message); callBackFunction(global.DEFAULT_FAIL_RESPONSE); @@ -957,51 +955,33 @@ let dateForPath = date.getUTCFullYear() + '/' + utilities.pad(date.getUTCMonth() + 1, 2) + '/' + utilities.pad(date.getUTCDate(), 2); let filePath = bot.filePathRoot + "/Output/" + VOLUMES_FOLDER_NAME + '/' + VOLUMES_ONE_MIN + '/' + dateForPath; - utilities.createFolderIfNeeded(filePath, bruceStorage, onFolderCreated); + bruceStorage.createTextFile(filePath, fileName, fileContent + '\n', onFileCreated); - function onFolderCreated(err) { + function onFileCreated(err) { try { - if (FULL_LOG === true) { logger.write("[INFO] start -> writeFiles -> writeVolumes -> onFolderCreated -> Entering function."); } + if (FULL_LOG === true) { logger.write("[INFO] start -> writeFiles -> writeVolumes -> onFileCreated -> Entering function."); } if (err.result !== global.DEFAULT_OK_RESPONSE.result) { - logger.write("[ERROR] start -> writeFiles -> writeVolumes -> onFolderCreated -> err = " + err.message); + logger.write("[ERROR] start -> writeFiles -> writeVolumes -> onFileCreated -> err = " + err.message); callBackFunction(err); return; } - bruceStorage.createTextFile(filePath, fileName, fileContent + '\n', onFileCreated); - - function onFileCreated(err) { - - try { - if (FULL_LOG === true) { logger.write("[INFO] start -> writeFiles -> writeVolumes -> onFolderCreated -> onFileCreated -> Entering function."); } - - if (err.result !== global.DEFAULT_OK_RESPONSE.result) { - logger.write("[ERROR] start -> writeFiles -> writeVolumes -> onFolderCreated -> onFileCreated -> err = " + err.message); - callBackFunction(err); - return; - } - - if (LOG_FILE_CONTENT === true) { - logger.write("[INFO] start -> writeFiles -> writeVolumes -> onFolderCreated -> onFileCreated -> fileContent = " + fileContent); - } - - logger.write("[INFO] start -> writeFiles -> writeVolumes -> onFolderCreated -> onFileCreated -> Finished with File @ " + market.assetA + "_" + market.assetB + ", " + fileRecordCounter + " records inserted into " + filePath + "/" + fileName + ""); - - writeReport(); - - } catch (err) { - logger.write("[ERROR] start -> writeFiles -> writeVolumes -> onFolderCreated -> onFileCreated -> err = " + err.message); - callBackFunction(global.DEFAULT_FAIL_RESPONSE); - } + if (LOG_FILE_CONTENT === true) { + logger.write("[INFO] start -> writeFiles -> writeVolumes -> onFileCreated -> fileContent = " + fileContent); } + logger.write("[INFO] start -> writeFiles -> writeVolumes -> onFileCreated -> Finished with File @ " + market.assetA + "_" + market.assetB + ", " + fileRecordCounter + " records inserted into " + filePath + "/" + fileName + ""); + + writeReport(); + } catch (err) { - logger.write("[ERROR] start -> writeFiles -> writeVolumes -> onFolderCreated -> err = " + err.message); + logger.write("[ERROR] start -> writeFiles -> writeVolumes -> onFileCreated -> err = " + err.message); callBackFunction(global.DEFAULT_FAIL_RESPONSE); } } + } catch (err) { logger.write("[ERROR] start -> writeFiles -> writeVolumes -> err = " + err.message); callBackFunction(global.DEFAULT_FAIL_RESPONSE);