OnlineJudge/judge/tasks.py
2019-05-07 21:22:06 +08:00

20 lines
596 B
Python

import dramatiq
from account.models import User
from submission.models import Submission
from judge.dispatcher import JudgeDispatcher, IDEDispatcher
from utils.shortcuts import DRAMATIQ_WORKER_ARGS
@dramatiq.actor(**DRAMATIQ_WORKER_ARGS())
def judge_task(submission_id, problem_id):
uid = Submission.objects.get(id=submission_id).user_id
if User.objects.get(id=uid).is_disabled:
return
JudgeDispatcher(submission_id, problem_id).judge()
@dramatiq.actor(**DRAMATIQ_WORKER_ARGS())
def judge_IDE_task(lang, code, test_case):
IDEDispatcher(lang, code, test_case).judge()