This repository has been archived on 2025-10-29. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
gekko/core/workers/datasetScan/parent.js
T
2021-06-06 20:25:14 +02:00

55 lines
1.1 KiB
JavaScript

var _ = require('lodash');
var moment = require('moment');
var async = require('async');
var os = require('os');
var util = require('../../util');
var dirs = util.dirs();
var dateRangeScan = require('../dateRangeScan/parent');
module.exports = function(config, done) {
util.setConfig(config);
var adapter = config[config.adapter];
var scan = require(dirs.gekko + adapter.path + '/scanner');
scan((err, markets) => {
if(err)
return done(err);
let numCPUCores = os.cpus().length;
if(numCPUCores === undefined)
numCPUCores = 1;
async.eachLimit(markets, numCPUCores, (market, next) => {
let marketConfig = _.clone(config);
marketConfig.watch = market;
dateRangeScan(marketConfig, (err, ranges) => {
if(err)
return next();
market.ranges = ranges;
next();
});
}, err => {
let resp = {
datasets: [],
errors: []
}
markets.forEach(market => {
if(market.ranges)
resp.datasets.push(market);
else
resp.errors.push(market);
})
done(err, resp);
})
});
}