sprint/daemons/management/commands/receive.py
2022-03-27 23:37:46 +03:00

27 lines
735 B
Python

from os.path import join, exists
from shutil import rmtree
from Main.models import Solution
from SprintLib.queue import MessagingSupport
from SprintLib.testers import *
class Command(MessagingSupport):
help = "Tests solution"
queue_name = "test"
def process(self, payload: dict):
id = payload['id']
print(f"Received id {id}")
solution = Solution.objects.get(id=id)
try:
eval(solution.language.work_name + "Tester")(solution).execute()
except Exception as e:
print(e)
solution.result = "TE"
solution.save()
finally:
path = join("solutions", str(id))
# if exists(path):
# rmtree(path)