From c95146410694ea67f8916af1c5d31fe710876f40 Mon Sep 17 00:00:00 2001 From: schneefux Date: Mon, 10 Apr 2017 19:25:08 +0200 Subject: deduplicate jobs in a batch --- worker.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/worker.js b/worker.js index df65581..1df72bc 100644 --- a/worker.js +++ b/worker.js @@ -129,18 +129,23 @@ var RABBITMQ_URI = process.env.RABBITMQ_URI, queue = []; let player_records = [], - global_records = []; + global_records = [], + players_done = [], + global_done = false; await Promise.all(msgs.map(async (msg) => { - if (msg.properties.type == "global") { + if (msg.properties.type == "global" && global_done == false) { // TODO let stats = await calculate_global_point(); if (stats != undefined) global_records.push(stats); } if (msg.properties.type == "player") { - let stats = await calculate_player_point( - msg.content.toString()); - if (stats != undefined) player_records.push(stats); + let player_id = msg.content.toString(); + if (players_done.indexOf(player_id) == -1) { + players_done.push(player_id); + let stats = await calculate_player_point(player_id); + if (stats != undefined) player_records.push(stats); + } } })); -- cgit v1.3.1