This commit is contained in:
Egor Matveev 2022-03-15 21:12:45 +03:00
parent cdf5787b41
commit 76a74efbe7
2 changed files with 12 additions and 9 deletions

View File

@ -4,7 +4,7 @@ from zipfile import ZipFile
from Main.models import Solution, Progress, SolutionFile from Main.models import Solution, Progress, SolutionFile
from SprintLib.BaseView import BaseView, AccessError from SprintLib.BaseView import BaseView, AccessError
from SprintLib.language import languages from SprintLib.language import languages
from SprintLib.queue import send_testing from SprintLib.queue import send_to_queue
from SprintLib.utils import write_bytes from SprintLib.utils import write_bytes
@ -49,7 +49,7 @@ class TaskView(BaseView):
solution=self.solution, solution=self.solution,
fs_id=fs_id, fs_id=fs_id,
) )
send_testing(self.solution) self.send_testing()
return ("/task?setTask_id=" + str(self.entities.setTask.id)) if hasattr(self.entities, 'setTask') else ("/task?task_id=" + str(self.entities.task.id)) return ("/task?setTask_id=" + str(self.entities.setTask.id)) if hasattr(self.entities, 'setTask') else ("/task?task_id=" + str(self.entities.task.id))
def post_1(self): def post_1(self):
@ -75,5 +75,10 @@ class TaskView(BaseView):
solution=self.solution, solution=self.solution,
fs_id=fs_id, fs_id=fs_id,
) )
send_testing(self.solution) self.send_testing()
return ("/task?setTask_id=" + str(self.entities.setTask.id)) if hasattr(self.entities, 'setTask') else ("/task?task_id=" + str(self.entities.task.id)) return ("/task?setTask_id=" + str(self.entities.setTask.id)) if hasattr(self.entities, 'setTask') else ("/task?task_id=" + str(self.entities.task.id))
def send_testing(self):
if self.solution.set is not None and len(self.solution.set.checkers.all()) != 0:
return
send_to_queue("test", {"id": self.solution.id})

View File

@ -7,18 +7,16 @@ from pika.adapters.utils.connection_workflow import AMQPConnectorException
from Sprint import settings from Sprint import settings
def send_testing(solution): def send_to_queue(queue_name, payload):
if solution.set is not None and len(solution.set.checkers.all()) != 0:
return
with pika.BlockingConnection( with pika.BlockingConnection(
pika.ConnectionParameters(host=settings.RABBIT_HOST, port=settings.RABBIT_PORT) pika.ConnectionParameters(host=settings.RABBIT_HOST, port=settings.RABBIT_PORT)
) as connection: ) as connection:
channel = connection.channel() channel = connection.channel()
channel.queue_declare(queue="test") channel.queue_declare(queue=queue_name)
channel.basic_publish( channel.basic_publish(
exchange="", exchange="",
routing_key="test", routing_key=queue_name,
body=json.dumps({"id": solution.id}).encode('utf-8'), body=json.dumps(payload).encode('utf-8'),
) )