将队列长度计数器改为 redis 计数器

This commit is contained in:
virusdefender
2015-08-21 13:25:30 +08:00
parent 771101ab13
commit e4ff9e642a
2 changed files with 9 additions and 2 deletions

View File

@@ -3,13 +3,17 @@ import redis
import datetime
from rest_framework.views import APIView
from judge.judger.result import result
from judge.judger_controller.settings import redis_config
from utils.shortcuts import success_response
from submission.models import Submission
class QueueLengthMonitorAPIView(APIView):
def get(self, request):
waiting_number = Submission.objects.filter(result=result["waiting"]).count()
r = redis.Redis(host=redis_config["host"], port=redis_config["port"], db=redis_config["db"])
waiting_number = r.get("judge_queue_length")
if waiting_number is None:
waiting_number = 0
now = datetime.datetime.now()
return success_response({"time": ":".join([str(now.hour), str(now.minute), str(now.second)]),
"count": waiting_number})