judge: pass envirent vars to checker

This commit is contained in:
undefined committed 2022-02-08 19:10:18 +08:00
1 parent 9158550139
commit abec5fd3ec
11 files changed
+54 -47

No files matched your search

+8
View File
@@ -38,6 +38,7 @@ class JudgeTask {
data: any[];
folder: string;
config: any;
env: Record<string, string>;
getLang: (name: string) => LangConfig;
constructor(session: Hydro, request, ws: WebSocket) {
@@ -63,6 +64,13 @@ class JudgeTask {
this.source = this.request.source;
this.tmpdir = path.resolve(getConfig('tmp_dir'), this.host, this.rid);
this.clean = [];
this.env = {
HYDRO_DOMAIN: this.request.domainId.toString(),
HYDRO_RECORD: this.rid,
HYDRO_LANG: this.lang,
HYDRO_USER: this.request.uid.toString(),
HYDRO_CONTEST: this.request.tid?.toString() || '',
};
await Lock.acquire(`${this.host}/${this.source}/${this.rid}`);
fs.ensureDirSync(this.tmpdir);
tmpfs.mount(this.tmpdir, getConfig('tmpfs_size'));