diff options
| author | schneefux <schneefux+commit@schneefux.xyz> | 2018-04-28 17:37:39 +0200 |
|---|---|---|
| committer | schneefux <schneefux+commit@schneefux.xyz> | 2018-05-05 12:11:38 +0200 |
| commit | c8dc06971c6dab447250bb81cca20836ed5b2772 (patch) | |
| tree | 0a1fc039c29fd4052afd7ff828d9ae3e76fd7bbc /index.js | |
| download | brokentalents-c8dc06971c6dab447250bb81cca20836ed5b2772.tar.gz brokentalents-c8dc06971c6dab447250bb81cca20836ed5b2772.zip | |
first working version
Diffstat (limited to 'index.js')
| -rw-r--r-- | index.js | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/index.js b/index.js new file mode 100644 index 0000000..12decf2 --- /dev/null +++ b/index.js @@ -0,0 +1,30 @@ +#!/usr/bin/node + +const R = require('ramda'), + etl = require('./etl'), + reduce = require('./reduce'), + config = require('./config'); + +function main() { + const loadFPayloads = etl.loadFPayloads(config.etl); + const aggregatePayloads = reduce.aggregatePayloads(config.reduce); + const deriveStatistics = reduce.deriveStatistics(config.reduce); + + let pages = [0, 5, 10, 15, 20, 25]; + let regions = ['sg', 'eu', 'na']; + + const params = R.xprod(regions, pages); + const requests = R.map( + R.apply((region, page) => loadFPayloads( + `/shards/${region}/matches`, + { 'sort': '-createdAt', 'filter[gameMode]': 'blitz_pvp_ranked', 'page[limit]': '5', 'page[offset]': page }, + )), + params); + + /* main */ + Future.parallel(1, requests) + .map(R.compose(deriveStatistics, aggregatePayloads, R.unnest)) + .value(R.compose(console.log, (a) => JSON.stringify(a, null, 2))); +} + +main(); |
