添加了题目列表每个题目前边状态指示标志:ac /没有/正在进行,因为数据是存在用户表里的所以缓存的时候可以做到与题目数据分开

This commit is contained in:
sxw@401
2015-09-15 16:41:13 +08:00
parent 0683d0914b
commit 01215a71ad
7 changed files with 62 additions and 3 deletions

View File

@@ -2,6 +2,7 @@
import logging
import redis
import json
from judge.judger_controller.settings import redis_config
from judge.judger.result import result
@@ -9,6 +10,7 @@ from submission.models import Submission
from problem.models import Problem
from contest.models import ContestProblem, Contest, ContestSubmission
from account.models import User
logger = logging.getLogger("app_info")
@@ -35,6 +37,20 @@ class MessageQueue(object):
problem.save()
except Problem.DoesNotExist:
logger.warning("Submission problem does not exist, submission_id: " + submission_id)
# 更新该用户的解题状态
try:
user = User.objects.get(pk=submission.user_id)
except User.DoesNotExist:
logger.warning("Submission user does not exist, submission_id: " + submission_id)
continue
if user.problems_status:
problems_status = json.loads(user.problems_status)
else:
problems_status = {}
problems_status[str(problem.id)] = 1
user.problems_status = json.dumps(problems_status)
user.save()
# 普通题目的话,到这里就结束了
continue