TS framework implemented at Task Server
This commit is contained in:
1 parent
ac429d769c
commit
a1f1739b69
3 files changed
+86
-21
No files matched your search
@@ -325,7 +325,14 @@
|
||||
]
|
||||
},
|
||||
"TS": {
|
||||
"globals": [],
|
||||
"globals": [
|
||||
{
|
||||
"name": "Time Frames",
|
||||
"propertyName": "timeFrames",
|
||||
"functionName": "newSuperalgosGlobalsTimeFrames",
|
||||
"fileName": "TimeFrames.js"
|
||||
}
|
||||
],
|
||||
"functionLibraries": [],
|
||||
"utilities": [],
|
||||
"botClasses": []
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
exports.newSuperalgosGlobalsTimeFrames = function () {
|
||||
|
||||
let thisObject = {
|
||||
marketFilesPeriods: marketFilesPeriods,
|
||||
dailyFilePeriods: dailyFilePeriods
|
||||
}
|
||||
|
||||
return thisObject;
|
||||
|
||||
function marketFilesPeriods() {
|
||||
|
||||
let marketFilesPeriods =
|
||||
'[' +
|
||||
'[' + 24 * 60 * 60 * 1000 + ',' + '"24-hs"' + ']' + ',' +
|
||||
'[' + 12 * 60 * 60 * 1000 + ',' + '"12-hs"' + ']' + ',' +
|
||||
'[' + 8 * 60 * 60 * 1000 + ',' + '"08-hs"' + ']' + ',' +
|
||||
'[' + 6 * 60 * 60 * 1000 + ',' + '"06-hs"' + ']' + ',' +
|
||||
'[' + 4 * 60 * 60 * 1000 + ',' + '"04-hs"' + ']' + ',' +
|
||||
'[' + 3 * 60 * 60 * 1000 + ',' + '"03-hs"' + ']' + ',' +
|
||||
'[' + 2 * 60 * 60 * 1000 + ',' + '"02-hs"' + ']' + ',' +
|
||||
'[' + 1 * 60 * 60 * 1000 + ',' + '"01-hs"' + ']' + ']'
|
||||
|
||||
return JSON.parse(marketFilesPeriods);
|
||||
}
|
||||
|
||||
function dailyFilePeriods() {
|
||||
|
||||
let dailyFilePeriods =
|
||||
'[' +
|
||||
'[' + 45 * 60 * 1000 + ',' + '"45-min"' + ']' + ',' +
|
||||
'[' + 40 * 60 * 1000 + ',' + '"40-min"' + ']' + ',' +
|
||||
'[' + 30 * 60 * 1000 + ',' + '"30-min"' + ']' + ',' +
|
||||
'[' + 20 * 60 * 1000 + ',' + '"20-min"' + ']' + ',' +
|
||||
'[' + 15 * 60 * 1000 + ',' + '"15-min"' + ']' + ',' +
|
||||
'[' + 10 * 60 * 1000 + ',' + '"10-min"' + ']' + ',' +
|
||||
'[' + 05 * 60 * 1000 + ',' + '"05-min"' + ']' + ',' +
|
||||
'[' + 04 * 60 * 1000 + ',' + '"04-min"' + ']' + ',' +
|
||||
'[' + 03 * 60 * 1000 + ',' + '"03-min"' + ']' + ',' +
|
||||
'[' + 02 * 60 * 1000 + ',' + '"02-min"' + ']' + ',' +
|
||||
'[' + 01 * 60 * 1000 + ',' + '"01-min"' + ']' + ']'
|
||||
|
||||
return JSON.parse(dailyFilePeriods);
|
||||
}
|
||||
}
|
||||
+34
-20
@@ -88,51 +88,63 @@ function setupUpTS() {
|
||||
Here we will setup the TS object, with all the
|
||||
projects and modules that will have inside.
|
||||
*/
|
||||
global.TS = {
|
||||
TS = {
|
||||
projects: []
|
||||
}
|
||||
for (let i = 0; i < PROJECTS_SCHEMA.length; i++) {
|
||||
let projectDefinition = PROJECTS_SCHEMA[i]
|
||||
global.TS.projects[projectDefinition.propertyName] = {}
|
||||
let projectInstance = global.TS.projects[projectDefinition.propertyName]
|
||||
TS.projects[projectDefinition.propertyName] = {}
|
||||
let projectInstance = TS.projects[projectDefinition.propertyName]
|
||||
|
||||
projectInstance.utilities = {}
|
||||
projectInstance.globals = {}
|
||||
projectInstance.functionLibraries = {}
|
||||
|
||||
/* Set up Utilities of this Project */
|
||||
if (projectDefinition.global.TS.utilities !== undefined) {
|
||||
for (let j = 0; j < projectDefinition.global.TS.utilities.length; j++) {
|
||||
let utilityDefinition = projectDefinition.global.TS.utilities[j]
|
||||
if (projectDefinition.TS.utilities !== undefined) {
|
||||
for (let j = 0; j < projectDefinition.TS.utilities.length; j++) {
|
||||
let utilityDefinition = projectDefinition.TS.utilities[j]
|
||||
let path = process.env.PROJECTS_PATH + '/' + projectDefinition.name + '/' + 'TS' + '/' + 'Utilities' + '/' + utilityDefinition.fileName
|
||||
|
||||
projectInstance.utilities[utilityDefinition.propertyName] = eval(utilityDefinition.functionName + '()')
|
||||
let requiredObject = require(path)
|
||||
let requiredFunction = requiredObject[utilityDefinition.functionName]
|
||||
projectInstance.utilities[utilityDefinition.propertyName] = requiredFunction.call()
|
||||
}
|
||||
}
|
||||
|
||||
/* Set up Globals of this Project */
|
||||
if (projectDefinition.global.TS.globals !== undefined) {
|
||||
for (let j = 0; j < projectDefinition.global.TS.globals.length; j++) {
|
||||
let globalDefinition = projectDefinition.global.TS.globals[j]
|
||||
if (projectDefinition.TS.globals !== undefined) {
|
||||
for (let j = 0; j < projectDefinition.TS.globals.length; j++) {
|
||||
let globalDefinition = projectDefinition.TS.globals[j]
|
||||
let path = process.env.PROJECTS_PATH + '/' + projectDefinition.name + '/' + 'TS' + '/' + 'Globals' + '/' + globalDefinition.fileName
|
||||
|
||||
projectInstance.globals[globalDefinition.propertyName] = eval(globalDefinition.functionName + '()')
|
||||
let requiredObject = require(path)
|
||||
let requiredFunction = requiredObject[globalDefinition.functionName]
|
||||
projectInstance.globals[globalDefinition.propertyName] = requiredFunction.call()
|
||||
}
|
||||
}
|
||||
|
||||
/* Set up Function Libraries of this Project */
|
||||
if (projectDefinition.global.TS.functionLibraries !== undefined) {
|
||||
for (let j = 0; j < projectDefinition.global.TS.functionLibraries.length; j++) {
|
||||
let functionLibraryDefinition = projectDefinition.global.TS.functionLibraries[j]
|
||||
if (projectDefinition.TS.functionLibraries !== undefined) {
|
||||
for (let j = 0; j < projectDefinition.TS.functionLibraries.length; j++) {
|
||||
let functionLibraryDefinition = projectDefinition.TS.functionLibraries[j]
|
||||
let path = process.env.PROJECTS_PATH + '/' + projectDefinition.name + '/' + 'TS' + '/' + 'Function-Libraries' + '/' + functionLibraryDefinition.fileName
|
||||
|
||||
projectInstance.functionLibraries[functionLibraryDefinition.propertyName] = eval(functionLibraryDefinition.functionName + '()')
|
||||
let requiredObject = require(path)
|
||||
let requiredFunction = requiredObject[functionLibraryDefinition.functionName]
|
||||
projectInstance.functionLibraries[functionLibraryDefinition.propertyName] = requiredFunction.call()
|
||||
}
|
||||
}
|
||||
|
||||
/* Set up Bot Classes of this Project */
|
||||
if (projectDefinition.global.TS.botClasses !== undefined) {
|
||||
for (let j = 0; j < projectDefinition.global.TS.botClasses.length; j++) {
|
||||
let botClassDefinition = projectDefinition.global.TS.botClasses[j]
|
||||
if (projectDefinition.TS.botClasses !== undefined) {
|
||||
for (let j = 0; j < projectDefinition.TS.botClasses.length; j++) {
|
||||
let botClassDefinition = projectDefinition.TS.botClasses[j]
|
||||
let path = process.env.PROJECTS_PATH + '/' + projectDefinition.name + '/' + 'TS' + '/' + 'Bot-Classes' + '/' + botClassDefinition.fileName
|
||||
|
||||
projectInstance.botClasses[botClassDefinition.propertyName] = eval(botClassDefinition.functionName + '()')
|
||||
let requiredObject = require(path)
|
||||
let requiredFunction = requiredObject[botClassDefinition.functionName]
|
||||
projectInstance.botClasses[botClassDefinition.propertyName] = requiredFunction.call()
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -140,6 +152,8 @@ function setupUpTS() {
|
||||
|
||||
function bootLoader() {
|
||||
|
||||
setupUpTS()
|
||||
|
||||
/* Heartbeat sent to the UI */
|
||||
|
||||
let key = global.TASK_NODE.name + '-' + global.TASK_NODE.type + '-' + global.TASK_NODE.id
|
||||
@@ -150,7 +164,7 @@ function bootLoader() {
|
||||
|
||||
function taskHearBeat() {
|
||||
|
||||
/* The heartbeat event is raised at the event handler of the instance of this task, created at the global.TS. */
|
||||
/* The heartbeat event is raised at the event handler of the instance of this task, created at the TS. */
|
||||
let event = {
|
||||
seconds: (new Date()).getSeconds()
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user