From b2cdc03c3bfc21ffcb43f6636d2ec761eb6a6f25 Mon Sep 17 00:00:00 2001 From: schneefux Date: Fri, 7 Apr 2017 23:52:11 +0200 Subject: attempt to fix race condition --- worker.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/worker.js b/worker.js index 1772db6..7a97e5c 100644 --- a/worker.js +++ b/worker.js @@ -55,7 +55,7 @@ var RABBITMQ_URI = process.env.RABBITMQ_URI, // fill queue until batchsize or idle if (timer === undefined) - timer = setTimeout(process, IDLE_TIMEOUT) + timer = setTimeout(process, IDLE_TIMEOUT); if (queue.length == BATCHSIZE) await process(); }, { noAck: false }); @@ -64,10 +64,10 @@ var RABBITMQ_URI = process.env.RABBITMQ_URI, console.log("processing batch", queue.length); // clean up to allow processor to accept while we wait for db - let msgs = queue.slice(); - queue = []; clearTimeout(timer); timer = undefined; + let msgs = queue; + queue = []; // helper to convert API response into flat JSON // db structure is (almost) 1:1 the API structure @@ -212,8 +212,8 @@ var RABBITMQ_URI = process.env.RABBITMQ_URI, try { console.log("inserting batch into db"); // upsert whole batch in parallel - await seq.transaction({ autocommit: false }, (transaction) => { - return Promise.all([ + await seq.transaction({ autocommit: false }, async (transaction) => { + await Promise.all([ model.Match.bulkCreate(match_records, { include: [ model.Roster, model.Asset ], updateOnDuplicate: [], // all -- cgit v1.3.1