From 57ee75bd4c993f918f1aaaa10721ab65f33d7b33 Mon Sep 17 00:00:00 2001 From: undefined Date: Mon, 7 Dec 2020 22:44:13 +0800 Subject: [PATCH] judge: sleep before final update --- packages/hydrooj/package.json | 2 +- packages/hydrooj/src/handler/judge.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/hydrooj/package.json b/packages/hydrooj/package.json index 961859aa5..039478851 100644 --- a/packages/hydrooj/package.json +++ b/packages/hydrooj/package.json @@ -1,6 +1,6 @@ { "name": "hydrooj", - "version": "2.14.3", + "version": "2.14.4", "bin": "bin/hydrooj.js", "main": "dist/loader.js", "typings": "dist/loader.d.ts", diff --git a/packages/hydrooj/src/handler/judge.ts b/packages/hydrooj/src/handler/judge.ts index 14833ddae..9cedcb388 100644 --- a/packages/hydrooj/src/handler/judge.ts +++ b/packages/hydrooj/src/handler/judge.ts @@ -71,7 +71,7 @@ export async function end(body: JudgeResultBody) { let rdoc = await record.get(body.domainId, body.rid); const $set: Partial = {}; const $push: any = {}; - const $unset: { progress: '' } = { progress: '' }; + const $unset: any = { progress: '' }; if (body.message) { rdoc.judgeTexts.push(body.message); $push.judgeTexts = body.message; @@ -86,6 +86,7 @@ export async function end(body: JudgeResultBody) { if (body.memory !== undefined) $set.memory = body.memory; $set.judgeAt = new Date(); $set.judger = body.judger ?? 1; + await sleep(100); // Make sure that all 'next' event already triggered rdoc = await record.update(body.domainId, body.rid, $set, $push, $unset); await _postJudge(rdoc); bus.boardcast('record/change', rdoc); // trigger a full update