diff options
Diffstat (limited to 'backend/index.js')
| -rw-r--r-- | backend/index.js | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/backend/index.js b/backend/index.js new file mode 100644 index 0000000..5da0f82 --- /dev/null +++ b/backend/index.js @@ -0,0 +1,27 @@ +#!/usr/bin/node + +const R = require('ramda'), + Future = require('fluture'), + moment = require('moment'), + reduce = require('./reduce'), + source = require('./source'), + config = require('./config'); + +const loadFTimestamped = source.loadFTimestamped(config); +const deriveStatistics = reduce.deriveStatistics(config.reduce); +const aggregatePayloads = reduce.aggregatePayloads(config.reduce); + +function main() { + const firstOfMay = moment('2018-05-01'); + + const later = R.curry((base, hs) => base.clone().add(hs, 'hours')); + const hours = R.range(0, 24 * 5); + const laterMoments = R.map(later(firstOfMay), hours); + + const futures = R.map(loadFTimestamped, laterMoments); + Future.parallel(1, futures) + .map(R.compose(deriveStatistics, aggregatePayloads, R.unnest)) + .fork(console.error, (d) => console.log(JSON.stringify(d, null, 2))); +} + +main(); |
