summaryrefslogtreecommitdiff
path: root/worker.js
diff options
context:
space:
mode:
Diffstat (limited to 'worker.js')
-rw-r--r--worker.js11
1 files changed, 7 insertions, 4 deletions
diff --git a/worker.js b/worker.js
index 0674d5f..cc6cd9d 100644
--- a/worker.js
+++ b/worker.js
@@ -199,17 +199,20 @@ function* chunks(arr) {
async function calculate_global_point() {
logger.info("crunching global stats, this could take a while");
await seq.transaction({ autocommit: false }, async (transaction) => {
- await Promise.map(global_points, async (tuple) => {
- const where_aggr = tuple[0], where_links = tuple[1];
+ await Promise.map(global_points, async (tuple, idx, len) => {
+ const progress = Math.floor(100*100 * (1-idx/len)) / 100,
+ where_aggr = tuple[0], where_links = tuple[1];
// aggregate participant_stats with our condition
let stats = await aggregate_stats(where_aggr);
if (stats != undefined) {
stats.updated_at = seq.fn("NOW");
- logger.info("inserting global stat");
+ logger.info("inserting global stat",
+ { progress: progress });
Object.assign(stats, where_links);
await model.GlobalPoint.upsert(stats,
{ transaction: transaction });
- } else logger.warn("not enough data for this global stat!");
+ } else logger.warn("not enough data for this global stat!",
+ { progress: progress });
}, { concurrency: MAXCONNS });
});
logger.info("committing");