From 385f9d190ea3d94e44c4862667ca6cc543f95ee0 Mon Sep 17 00:00:00 2001 From: virusdefender <1670873886@qq.com> Date: Wed, 16 Sep 2015 20:32:00 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=B2=A1=E7=94=A8?= =?UTF-8?q?=E7=9A=84=20url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- oj/urls.py | 1 - 1 file changed, 1 deletion(-) diff --git a/oj/urls.py b/oj/urls.py index eda20bb..d9373bb 100644 --- a/oj/urls.py +++ b/oj/urls.py @@ -25,7 +25,6 @@ from contest_submission.views import contest_problem_my_submissions_list_page urlpatterns = [ - url(r'^install/$', "install.views.install"), url("^$", "account.views.page_jump", name="page_jump_api"), url(r'^docs/', include('rest_framework_swagger.urls')), url(r'^admin/$', TemplateView.as_view(template_name="admin/admin.html"), name="admin_spa_page"), From f71adf163496524d452c145a8b38267ad351031f Mon Sep 17 00:00:00 2001 From: virusdefender <1670873886@qq.com> Date: Thu, 17 Sep 2015 09:14:44 +0800 Subject: [PATCH 2/8] fix typo --- contest/views.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contest/views.py b/contest/views.py index 5bb089b..bef7bc7 100644 --- a/contest/views.py +++ b/contest/views.py @@ -451,5 +451,5 @@ def contest_rank_page(request, contest_id): {"contest": contest, "contest_problems": contest_problems, "result": result, "auto_refresh": request.GET.get("auto_refresh", None) == "true", - "show_real_name": result.GET.get("show_real_name", None) == "true", + "show_real_name": request.GET.get("show_real_name", None) == "true", "real_time_rank": contest.real_time_rank}) From 12e2c54aad20c2683d7a0dfed6f8bde3735e0b02 Mon Sep 17 00:00:00 2001 From: virusdefender <1670873886@qq.com> Date: Thu, 17 Sep 2015 09:29:59 +0800 Subject: [PATCH 3/8] =?UTF-8?q?=E5=9C=A8=E7=8E=AF=E5=A2=83=E5=8F=98?= =?UTF-8?q?=E9=87=8F=E4=B8=AD=E5=8F=96=E6=95=B0=E6=8D=AE=E5=BA=93=E5=9C=B0?= =?UTF-8?q?=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- judge/judger_controller/settings.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/judge/judger_controller/settings.py b/judge/judger_controller/settings.py index e141c52..6e24f59 100644 --- a/judge/judger_controller/settings.py +++ b/judge/judger_controller/settings.py @@ -4,9 +4,10 @@ 此文件包含 celery 的部分配置,但是 celery 并不是运行在docker 中的,所以本配置文件中的 redis和 MySQL 的地址就应该是 运行 redis 和 MySQL 的 docker 容器的地址了。怎么获取这个地址见帮助文档。测试用例的路径和源代码路径同理。 """ +import os # 这个redis 是 celery 使用的,包括存储队列信息还有部分统计信息 redis_config = { - "host": "192.168.42.23", + "host": os.environ.get("celery_redis_host"), "port": 6379, "db": 0 } @@ -30,7 +31,7 @@ log_dir = "/root/log/" # 存储提交信息的数据库,是 celery 使用的,与 oj.settings/local_settings 等区分,那是 web 服务器访问的地址 submission_db = { - "host": "192.168.42.32", + "host": os.environ.get("submission_db_host"), "port": 3306, "db": "oj_submission", "user": "root", From aa14962a8588ef67b701e11ee78d49beee4b4231 Mon Sep 17 00:00:00 2001 From: virusdefender <1670873886@qq.com> Date: Thu, 17 Sep 2015 09:35:10 +0800 Subject: [PATCH 4/8] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=88=A4=E9=A2=98?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- submission/views.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/submission/views.py b/submission/views.py index baa81d4..8f9e37d 100644 --- a/submission/views.py +++ b/submission/views.py @@ -1,5 +1,6 @@ # coding=utf-8 import json +import logging import redis from django.shortcuts import render @@ -21,6 +22,9 @@ from .models import Submission from .serializers import CreateSubmissionSerializer, SubmissionSerializer, SubmissionhareSerializer +logger = logging.getLogger("app_info") + + class SubmissionAPIView(APIView): @login_required def post(self, request): @@ -44,7 +48,8 @@ class SubmissionAPIView(APIView): try: judge.delay(submission.id, problem.time_limit, problem.memory_limit, problem.test_case_id) - except Exception: + except Exception as e: + logger.error(e) return error_response(u"提交判题任务失败") # 修改用户解题状态 if request.user.problems_status: From e4533c9b76ffb41ccbb2d8b75989efa873d7c76f Mon Sep 17 00:00:00 2001 From: virusdefender <1670873886@qq.com> Date: Thu, 17 Sep 2015 09:44:31 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20redis=20=E7=8E=AF?= =?UTF-8?q?=E5=A2=83=E5=8F=98=E9=87=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- judge/judger_controller/settings.py | 2 +- problem/views.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/judge/judger_controller/settings.py b/judge/judger_controller/settings.py index 6e24f59..4c155b5 100644 --- a/judge/judger_controller/settings.py +++ b/judge/judger_controller/settings.py @@ -7,7 +7,7 @@ import os # 这个redis 是 celery 使用的,包括存储队列信息还有部分统计信息 redis_config = { - "host": os.environ.get("celery_redis_host"), + "host": os.environ.get("REDIS_PORT_6379_TCP_ADDR"), "port": 6379, "db": 0 } diff --git a/problem/views.py b/problem/views.py index 84ca58d..2e48b40 100644 --- a/problem/views.py +++ b/problem/views.py @@ -24,6 +24,7 @@ import logging logger = logging.getLogger("app_info") + def problem_page(request, problem_id): try: problem = Problem.objects.get(id=problem_id, visible=True) From 4bfdad10deb877b230487385177d8077466aa73b Mon Sep 17 00:00:00 2001 From: virusdefender <1670873886@qq.com> Date: Thu, 17 Sep 2015 10:15:05 +0800 Subject: [PATCH 6/8] =?UTF-8?q?submission=20=E8=BF=87=E6=BB=A4=E5=A4=9A?= =?UTF-8?q?=E4=BD=99=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- contest_submission/views.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/contest_submission/views.py b/contest_submission/views.py index eb2caf1..59ee7fa 100644 --- a/contest_submission/views.py +++ b/contest_submission/views.py @@ -87,7 +87,10 @@ def contest_problem_submissions_list_page(request, contest_id, page=1): except Contest.DoesNotExist: return error_page(request, u"比赛不存在") - submissions = Submission.objects.filter(contest_id=contest_id) + submissions = Submission.objects.filter(contest_id=contest_id).\ + values("id", "contest_id", "problem_id", "result", "create_time", + "accepted_answer_time", "language", "user_id").order_by("-create_time") + # 封榜的时候只能看到自己的提交 if not contest.real_time_rank: From 3d01918489e6ecdb9b3601b925103ea0f27fb5f8 Mon Sep 17 00:00:00 2001 From: virusdefender <1670873886@qq.com> Date: Thu, 17 Sep 2015 11:18:11 +0800 Subject: [PATCH 7/8] =?UTF-8?q?pre=20=E7=9A=84=E8=83=8C=E6=99=AF=E9=A2=9C?= =?UTF-8?q?=E8=89=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- static/src/css/global.css | 1 + 1 file changed, 1 insertion(+) diff --git a/static/src/css/global.css b/static/src/css/global.css index 2d4f618..3eebd70 100644 --- a/static/src/css/global.css +++ b/static/src/css/global.css @@ -41,4 +41,5 @@ label { pre { font-family: "Consolas", "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; + background-color: white; } From 878d71f60e99bb556936a31afe70b7ea1fe31d7b Mon Sep 17 00:00:00 2001 From: virusdefender <1670873886@qq.com> Date: Thu, 17 Sep 2015 11:18:38 +0800 Subject: [PATCH 8/8] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=20=20celery=20=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=20docker=20=E7=9A=84=E6=97=B6=E5=80=99=20cannot=20ena?= =?UTF-8?q?ble=20tty=20mode=20on=20non=20tty=20input=20=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- judge/judger_controller/tasks.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/judge/judger_controller/tasks.py b/judge/judger_controller/tasks.py index d120ee3..4574982 100644 --- a/judge/judger_controller/tasks.py +++ b/judge/judger_controller/tasks.py @@ -11,7 +11,7 @@ from settings import docker_config, source_code_dir, test_case_dir, log_dir, sub @app.task def judge(submission_id, time_limit, memory_limit, test_case_id): try: - command = "%s run -t -i --privileged --rm " \ + command = "%s run --privileged --rm " \ "--link mysql " \ "-v %s:/var/judger/test_case/ " \ "-v %s:/var/judger/code/ " \