From c57b304576f3fe630ab21944a9080a521b846fac Mon Sep 17 00:00:00 2001 From: undefined Date: Tue, 31 Jan 2023 08:27:51 +0800 Subject: [PATCH] judge: ensure tmpdir --- packages/hydrojudge/src/daemon.ts | 2 ++ packages/hydrojudge/src/hosts/builtin.ts | 1 + 2 files changed, 3 insertions(+) diff --git a/packages/hydrojudge/src/daemon.ts b/packages/hydrojudge/src/daemon.ts index 8835e6287..e4b7f4993 100644 --- a/packages/hydrojudge/src/daemon.ts +++ b/packages/hydrojudge/src/daemon.ts @@ -15,6 +15,7 @@ ~ */ import './utils'; +import fs from 'fs-extra'; import PQueue from 'p-queue'; import { getConfig } from './config'; import HydroHost from './hosts/hydro'; @@ -45,6 +46,7 @@ process.on('unhandledRejection', (reason, p) => { async function daemon() { const _hosts = getConfig('hosts'); const queue = new PQueue({ concurrency: Infinity }); + await fs.ensureDir(getConfig('tmp_dir')); queue.on('error', (e) => log.error(e)); for (const i in _hosts) { _hosts[i].host ||= i; diff --git a/packages/hydrojudge/src/hosts/builtin.ts b/packages/hydrojudge/src/hosts/builtin.ts index 99e2d61af..fc95765c9 100644 --- a/packages/hydrojudge/src/hosts/builtin.ts +++ b/packages/hydrojudge/src/hosts/builtin.ts @@ -75,6 +75,7 @@ const session = { export async function postInit() { if (SystemModel.get('hydrojudge.disable')) return; + await fs.ensureDir(getConfig('tmp_dir')); const handle = async (t) => { const rdoc = await RecordModel.get(t.domainId, t.rid); (new JudgeTask(session, Object.assign(rdoc, t))).handle().catch(logger.error);