mirror of
https://github.com/QingdaoU/OnlineJudge.git
synced 2024-09-21 08:23:20 +00:00
21 lines
1005 B
Python
21 lines
1005 B
Python
# coding=utf-8
|
||
from __future__ import absolute_import
|
||
from judger_controller.celery import app
|
||
import subprocess32 as subprocess
|
||
|
||
|
||
@app.task
|
||
def judge(solution_id, time_limit, memory_limit, test_case_id):
|
||
try:
|
||
subprocess.call("docker run -t -i --privileged --rm=true "
|
||
"-v /Users/virusdefender/Desktop/test_case/:/var/judger/test_case/ "
|
||
"-v /Users/virusdefender/Desktop/:/var/judger/code/ "
|
||
"judger "
|
||
"python judger/run.py "
|
||
"--solution_id %s --time_limit %s --memory_limit %s --test_case_id %s" %
|
||
(solution_id, str(time_limit), str(memory_limit), test_case_id),
|
||
# 如果设置的最长运行时间小于1000毫秒,那么/1000就是0,处理一下这个情况,设置为两秒
|
||
timeout=(time_limit / 1000 * 3) or 2, shell=True)
|
||
except subprocess.TimeoutExpired:
|
||
print "docker timeout"
|