summaryrefslogtreecommitdiff
path: root/params.js
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2018-05-05 23:31:56 +0200
committerschneefux <schneefux+commit@schneefux.xyz>2018-05-05 23:31:56 +0200
commitc8d900349a2a518c5fee9610b6a903a2ff546e50 (patch)
tree3e99c3f388068e78743653dec46cf106437a7052 /params.js
parent075c26e94f16379b302570e689d244edef94cb04 (diff)
downloadbrokentalents-c8d900349a2a518c5fee9610b6a903a2ff546e50.tar.gz
brokentalents-c8d900349a2a518c5fee9610b6a903a2ff546e50.zip
cache many small periods on disk and aggregate them
Diffstat (limited to 'params.js')
-rw-r--r--params.js14
1 files changed, 8 insertions, 6 deletions
diff --git a/params.js b/params.js
index b3dcb98..5edf658 100644
--- a/params.js
+++ b/params.js
@@ -1,6 +1,7 @@
#!/usr/bin/node
-const R = require('ramda');
+const R = require('ramda'),
+ moment = require('moment');
function paramsForHourSample(config) {
const requestArgsForRegionStartEnd = R.curry((region, start, end) => [
@@ -9,17 +10,18 @@ function paramsForHourSample(config) {
'filter[gameMode]': R.join(',', config.modes),
'filter[createdAt-start]': start.toISOString(),
'filter[createdAt-end]': end.toISOString(),
- 'page[limit]': '5',
+ 'page[limit]': config.matchesPerRequest,
'page[offset]': '0',
}
]);
- const requestsPerMinutePerRegion = Math.floor(config.rpm / config.regions.length);
- const splitDurationMinutes = Math.floor(60 / requestsPerMinutePerRegion);
+ const intervalMinutes = moment.duration(config.interval, config.intervalUnit).as('minutes');
+ const requestsPerMinutePerRegion = Math.floor(config.requestsPerInterval / config.regions.length);
+ const splitDurationMinutes = Math.floor(intervalMinutes / requestsPerMinutePerRegion);
const splitMoments = (hour) => R.map(
(offsetIndex) => [
- hour.clone().startOf('hour').minutes(offsetIndex * splitDurationMinutes),
- hour.clone().startOf('hour').minutes((offsetIndex + 1) * splitDurationMinutes),
+ hour.clone().minutes(offsetIndex * splitDurationMinutes),
+ hour.clone().minutes((offsetIndex + 1) * splitDurationMinutes),
],
R.range(0, requestsPerMinutePerRegion),
);