修正dispatcher,使用redis存任务队列,修正submission的post,修改部分settings

This commit is contained in:
zemal committed 2017-05-10 17:20:52 +08:00
1 parent 4733eecef9
commit 08bd591bfb
13 files changed
+133 -107

No files matched your search

+2 -1
View File
@@ -41,7 +41,8 @@ class JudgeServer(models.Model):
@property
def status(self):
if (timezone.now() - self.last_heartbeat).total_seconds() > 5:
# 增加一秒延时,提高对网络环境的适应性
if (timezone.now() - self.last_heartbeat).total_seconds() > 6:
return "abnormal"
return "normal"
+6
View File
@@ -1,9 +1,11 @@
import hashlib
from django.utils import timezone
from django_redis import get_redis_connection
from account.decorators import super_admin_required
from judge.languages import languages, spj_languages
from judge.dispatcher import process_pending_task
from utils.api import APIView, CSRFExemptAPIView, validate_serializer
from utils.shortcuts import rand_str
@@ -126,6 +128,10 @@ class JudgeServerHeartbeatAPI(CSRFExemptAPIView):
service_url=service_url,
last_heartbeat=timezone.now(),
)
# 新server上线 处理队列中的,防止没有新的提交而导致一直waiting
conn = get_redis_connection("JudgeQueue")
process_pending_task(conn)
return self.success()