summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorschneefux <schneefux+commit@schneefux.xyz>2017-05-11 17:43:12 +0200
committerschneefux <schneefux+commit@schneefux.xyz>2017-05-11 17:43:12 +0200
commit34e3a8871cdfaa4675bfd8e96c38dfe9426ab2ec (patch)
tree59d4e196242d910560915d2d08d87520536c32d1
parent764572460cc6b50fd253d45bf0821e00e7192f66 (diff)
downloadcruncher-release/2.3.0.tar.gz
cruncher-release/2.3.0.zip
prevent fame calculation being mixed during two concurrent team updatesrelease/2.3.1release/2.3.0
-rw-r--r--crunch_team.sql2
-rw-r--r--worker.js13
2 files changed, 9 insertions, 6 deletions
diff --git a/crunch_team.sql b/crunch_team.sql
index a11cc33..3d55e25 100644
--- a/crunch_team.sql
+++ b/crunch_team.sql
@@ -31,7 +31,7 @@ JOIN (
JOIN team t ON tm.team_id = t.id
JOIN roster r ON p.roster_api_id = r.api_id
JOIN `match` m ON r.match_api_id = m.api_id
- WHERE t.id IN (:team_ids)
+ WHERE t.id = :team_id
GROUP BY t.id, m.api_id, r.id
) AS cnt_by_m
JOIN participant p ON p.match_api_id = cnt_by_m.m_api_id
diff --git a/worker.js b/worker.js
index d7b7ffe..cece1a7 100644
--- a/worker.js
+++ b/worker.js
@@ -118,11 +118,14 @@ if (LOGGLY_TOKEN)
replacements: { participant_api_ids: api_ids_global },
type: seq.QueryTypes.UPSERT
});
- if (team_ids.length > 0)
- await seq.query(team_script, {
- replacements: { team_ids: team_ids },
- type: seq.QueryTypes.UPDATE
- });
+ if (team_ids.length > 0) {
+ await Promise.each(team_ids, async (tid) =>
+ await seq.query(team_script, {
+ replacements: { team_id: tid },
+ type: seq.QueryTypes.UPDATE
+ })
+ );
+ }
if (api_ids_player.length > 0)
await seq.query(player_script, {
replacements: { participant_api_ids: api_ids_player },