diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2018-05-05 18:52:59 +0200 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2018-05-05 18:52:59 +0200 |
| commit | 075c26e94f16379b302570e689d244edef94cb04 (patch) | |
| tree | 08a0edad5703910f557707b16f8f9a032df34e84 /index.js | |
| parent | 63da93e9f443a799208c8e706616a828fa528a3e (diff) | |
| download | brokentalents-075c26e94f16379b302570e689d244edef94cb04.tar.gz brokentalents-075c26e94f16379b302570e689d244edef94cb04.zip | |
save data to file
Diffstat (limited to 'index.js')
| -rw-r--r-- | index.js | 28 |
1 files changed, 18 insertions, 10 deletions
@@ -6,20 +6,28 @@ const R = require('ramda'), source = require('./source'), params = require('./params'), reduce = require('./reduce'), + file = require('./file'), 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 paramsForHourSample = params.paramsForHourSample(config.api); +const loadFApi = source.loadFApi(config.etl); +const saveFPayloads = file.saveFPayloadsTimestamped(config.file); +const aggregatePayloads = reduce.aggregatePayloads(config.reduce); +const deriveStatistics = reduce.deriveStatistics(config.reduce); + +const requestsForHour = (timestamp) => R.map(R.apply(loadFApi), paramsForHourSample(timestamp)); - const requests = R.map(R.apply(loadFApi), paramsForHourSample(moment().subtract(1, 'days'))); +function processFPastHour(config) { + return (timestamp) => + Future.parallel(1, requestsForHour(timestamp)) + .map(R.compose(deriveStatistics, aggregatePayloads, R.unnest)) + .chain(saveFPayloads(timestamp)); +} - /* main */ - Future.parallel(1, requests) - .map(R.compose(deriveStatistics, aggregatePayloads, R.unnest)) - .value(R.compose(console.log, (a) => JSON.stringify(a, null, 2))); +function main() { + const now = moment().subtract(1, 'hours').startOf('hour'); + console.log(requestsForHour(now)); + processFPastHour(config)(now).fork(console.error, console.log); } main(); |
