废弃 huey,多数据库连接的时候存在 connection 无法释放的问题,回到 celery
This commit is contained in:
@@ -1,9 +1,9 @@
|
||||
# coding=utf-8
|
||||
from huey.djhuey import db_task
|
||||
|
||||
from __future__ import absolute_import
|
||||
from celery import shared_task
|
||||
from judge_dispatcher.tasks import JudgeDispatcher
|
||||
|
||||
|
||||
@db_task()
|
||||
def _judge(submission, time_limit, memory_limit, test_case_id, is_waiting_task=False):
|
||||
JudgeDispatcher(submission, time_limit, memory_limit, test_case_id).judge(is_waiting_task)
|
||||
@shared_task
|
||||
def _judge(submission, time_limit, memory_limit, test_case_id):
|
||||
JudgeDispatcher(submission, time_limit, memory_limit, test_case_id).judge()
|
||||
@@ -43,7 +43,7 @@ class SubmissionAPIView(APIView):
|
||||
problem_id=problem.id)
|
||||
|
||||
try:
|
||||
_judge(submission, problem.time_limit, problem.memory_limit, problem.test_case_id)
|
||||
_judge.delay(submission, problem.time_limit, problem.memory_limit, problem.test_case_id)
|
||||
except Exception as e:
|
||||
logger.error(e)
|
||||
return error_response(u"提交判题任务失败")
|
||||
@@ -88,7 +88,7 @@ class ContestSubmissionAPIView(APIView):
|
||||
code=data["code"],
|
||||
problem_id=problem.id)
|
||||
try:
|
||||
_judge(submission, problem.time_limit, problem.memory_limit, problem.test_case_id)
|
||||
_judge.delay(submission, problem.time_limit, problem.memory_limit, problem.test_case_id)
|
||||
except Exception as e:
|
||||
logger.error(e)
|
||||
return error_response(u"提交判题任务失败")
|
||||
@@ -273,7 +273,7 @@ class SubmissionRejudgeAdminAPIView(APIView):
|
||||
except Problem.DoesNotExist:
|
||||
return error_response(u"题目不存在")
|
||||
try:
|
||||
_judge(submission, problem.time_limit, problem.memory_limit, problem.test_case_id)
|
||||
_judge.delay(submission, problem.time_limit, problem.memory_limit, problem.test_case_id)
|
||||
except Exception as e:
|
||||
logger.error(e)
|
||||
return error_response(u"提交判题任务失败")
|
||||
|
||||
Reference in New Issue
Block a user