mirror of
https://github.com/QingdaoU/JudgeServer.git
synced 2024-12-28 04:51:44 +00:00
修复 /judger_run 使用 tmpfs 可能造成的内存占用过大的问题
This commit is contained in:
parent
dca5db7348
commit
d579874094
1
.gitignore
vendored
1
.gitignore
vendored
@ -71,3 +71,4 @@ rsyncd.passwd
|
|||||||
node_modules/
|
node_modules/
|
||||||
|
|
||||||
token.txt
|
token.txt
|
||||||
|
run/
|
||||||
|
@ -9,10 +9,8 @@ RUN buildDeps='software-properties-common git libtool cmake python-dev python3-p
|
|||||||
cd /tmp && git clone -b newnew --depth 1 https://github.com/QingdaoU/Judger && cd Judger && \
|
cd /tmp && git clone -b newnew --depth 1 https://github.com/QingdaoU/Judger && cd Judger && \
|
||||||
mkdir build && cd build && cmake .. && make && make install && cd ../bindings/Python && python3 setup.py install && \
|
mkdir build && cd build && cmake .. && make && make install && cd ../bindings/Python && python3 setup.py install && \
|
||||||
apt-get purge -y --auto-remove $buildDeps && \
|
apt-get purge -y --auto-remove $buildDeps && \
|
||||||
apt-get clean && rm -rf /var/lib/apt/lists/*
|
apt-get clean && rm -rf /var/lib/apt/lists/* && \
|
||||||
|
mkdir -p /code && useradd -r compiler
|
||||||
RUN mkdir -p /judger_run /test_case /log /code && \
|
|
||||||
useradd -r compiler
|
|
||||||
|
|
||||||
HEALTHCHECK --interval=5s --retries=3 CMD python3 /code/service.py
|
HEALTHCHECK --interval=5s --retries=3 CMD python3 /code/service.py
|
||||||
ADD server /code
|
ADD server /code
|
||||||
|
@ -12,8 +12,6 @@ services:
|
|||||||
- FSETID
|
- FSETID
|
||||||
tmpfs:
|
tmpfs:
|
||||||
- /tmp
|
- /tmp
|
||||||
- /judger_run:exec,mode=777
|
|
||||||
- /spj:exec,mode=777
|
|
||||||
volumes:
|
volumes:
|
||||||
- $PWD/tests/test_case:/test_case:ro
|
- $PWD/tests/test_case:/test_case:ro
|
||||||
- $PWD/log:/log
|
- $PWD/log:/log
|
||||||
|
@ -3,7 +3,7 @@ import pwd
|
|||||||
|
|
||||||
import grp
|
import grp
|
||||||
|
|
||||||
JUDGER_WORKSPACE_BASE = "/judger_run"
|
JUDGER_WORKSPACE_BASE = "/judger/run"
|
||||||
LOG_BASE = "/log"
|
LOG_BASE = "/log"
|
||||||
|
|
||||||
COMPILER_LOG_PATH = os.path.join(LOG_BASE, "compile.log")
|
COMPILER_LOG_PATH = os.path.join(LOG_BASE, "compile.log")
|
||||||
@ -17,5 +17,5 @@ COMPILER_USER_UID = pwd.getpwnam("compiler").pw_uid
|
|||||||
COMPILER_GROUP_GID = grp.getgrnam("compiler").gr_gid
|
COMPILER_GROUP_GID = grp.getgrnam("compiler").gr_gid
|
||||||
|
|
||||||
TEST_CASE_DIR = "/test_case"
|
TEST_CASE_DIR = "/test_case"
|
||||||
SPJ_SRC_DIR = "/spj"
|
SPJ_SRC_DIR = "/judger/spj"
|
||||||
SPJ_EXE_DIR = "/spj"
|
SPJ_EXE_DIR = "/judger/spj"
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
#!/usr/bin/env bash
|
#!/bin/bash
|
||||||
chown compiler:compiler /spj
|
rm -rf /judger/*
|
||||||
|
mkdir -p /judger/run /judger/spj
|
||||||
|
chown compiler:compiler /judger/spj
|
||||||
core=$(grep --count ^processor /proc/cpuinfo)
|
core=$(grep --count ^processor /proc/cpuinfo)
|
||||||
n=$(($core*2))
|
n=$(($core*2))
|
||||||
exec gunicorn --workers $n --threads $n --error-logfile /log/gunicorn.log --time 600 --bind 0.0.0.0:8080 server:app
|
exec gunicorn --workers $n --threads $n --error-logfile /log/gunicorn.log --time 600 --bind 0.0.0.0:8080 server:app
|
||||||
|
Loading…
Reference in New Issue
Block a user