修改计数方式

This commit is contained in:
virusdefender 2015-08-21 13:32:02 +08:00
parent e4ff9e642a
commit 4b49fa5050
2 changed files with 7 additions and 2 deletions

View File

@ -10,8 +10,6 @@ from settings import docker_config, source_code_dir, test_case_dir, submission_d
@app.task
def judge(submission_id, time_limit, memory_limit, test_case_id):
r = redis.Redis(host=redis_config["host"], port=redis_config["port"], db=redis_config["db"])
r.incr("judge_queue_length")
try:
command = "%s run -t -i --privileged --rm=true " \
"-v %s:/var/judger/test_case/ " \
@ -39,4 +37,5 @@ def judge(submission_id, time_limit, memory_limit, test_case_id):
(result["system_error"], str(e), submission_id))
conn.commit()
conn.close()
r = redis.Redis(host=redis_config["host"], port=redis_config["port"], db=redis_config["db"])
r.decr("judge_queue_length")

View File

@ -1,5 +1,6 @@
# coding=utf-8
import json
import redis
from django.shortcuts import render
@ -7,6 +8,7 @@ from rest_framework.views import APIView
from judge.judger.result import result
from judge.judger_controller.tasks import judge
from judge.judger_controller.settings import redis_config
from account.decorators import login_required
from account.models import SUPER_ADMIN
from problem.models import Problem
@ -41,6 +43,10 @@ class SubmissionAPIView(APIView):
except Exception:
return error_response(u"提交判题任务失败")
# 增加redis 中判题队列长度的计数器
r = redis.Redis(host=redis_config["host"], port=redis_config["port"], db=redis_config["db"])
r.incr("judge_queue_length")
return success_response({"submission_id": submission.id})
else:
return serializer_invalid_response(serializer)