core: judge: bug fix

This commit is contained in:
undefined committed 2024-01-28 08:29:37 +08:00
1 parent 571522aefa
commit 314bba6a0e
9 files changed
+20 -23

No files matched your search

+1 -2
View File
@@ -1,14 +1,13 @@
{
"name": "@hydrooj/hydrojudge",
"bin": "bin/hydrojudge.js",
"version": "3.3.0",
"version": "3.3.1",
"main": "package.json",
"author": "undefined <i@undefined.moe>",
"repository": "https://github.com/hydro-dev/Hydro.git",
"dependencies": {
"@hydrooj/utils": "workspace:*",
"cac": "^6.7.14",
"mongodb": "^5.9.2",
"p-queue": "^8.0.1",
"schemastery": "^3.14.3",
"semver": "^7.5.4",
+4 -4
View File
@@ -25,8 +25,8 @@ const session = {
getNext(t: Context) {
return async (data: Partial<JudgeResultBody>) => {
logger.debug('Next: %o', data);
data.rid = t.rid as any;
const rdoc = await RecordModel.get(new ObjectId(t.rid));
data.rid = new ObjectId(t.rid);
const rdoc = await RecordModel.get(data.rid);
if (data.case) data.case.message ||= '';
next({ ...data, domainId: rdoc.domainId });
};
@@ -34,8 +34,8 @@ const session = {
getEnd(t: Context) {
return async (data: Partial<JudgeResultBody>) => {
data.key = 'end';
data.rid = t.rid as any;
const rdoc = await RecordModel.get(new ObjectId(t.rid));
data.rid = new ObjectId(t.rid);
const rdoc = await RecordModel.get(data.rid);
logger.info('End: status=%d score=%d time=%dms memory=%dkb', data.status, data.score, data.time, data.memory);
end({ ...data, domainId: rdoc.domainId });
};
+1 -3
View File
@@ -1,6 +1,5 @@
/* eslint-disable no-await-in-loop */
import path from 'path';
import { ObjectId } from 'mongodb';
import PQueue from 'p-queue';
import superagent from 'superagent';
import WebSocket from 'ws';
@@ -150,8 +149,7 @@ export default class Hydro implements Session {
return null;
}
send(rid: string | ObjectId, key: 'next' | 'end', data: Partial<JudgeResultBody>) {
data.rid = new ObjectId(rid);
send(rid: string, key: 'next' | 'end', data: Partial<JudgeResultBody>) {
data.key = key;
if (data.case && typeof data.case.message === 'string') data.case.message = removeNixPath(data.case.message);
if (typeof data.message === 'string') data.message = removeNixPath(data.message);