1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
#!/usr/bin/node
const R = require('ramda'),
Future = require('fluture'),
moment = require('moment'),
source = require('./source'),
params = require('./params'),
reduce = require('./reduce'),
config = require('./config');
function main() {
const paramsForHourSample = params.paramsForHourSample(config.api);
const loadFApi = source.loadFApi(config.etl);
const aggregatePayloads = reduce.aggregatePayloads(config.reduce);
const deriveStatistics = reduce.deriveStatistics(config.reduce);
const requests = R.map(R.apply(loadFApi), paramsForHourSample(moment().subtract(1, 'days')));
/* main */
Future.parallel(1, requests)
.map(R.compose(deriveStatistics, aggregatePayloads, R.unnest))
.value(R.compose(console.log, (a) => JSON.stringify(a, null, 2)));
}
main();
|