From 19620d2bd59e9059b81907b160e0ff2c7a3e4c50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E5=89=8D=E6=98=8E?= <909355014@qq.com> Date: Mon, 12 Sep 2022 19:53:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BC=80=E5=90=AF=E4=BD=9C=E4=B8=9A=E7=9B=91?= =?UTF-8?q?=E6=8E=A7=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/opm/services.py | 19 ++++++++++++++----- apps/opm/views.py | 4 ++-- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/apps/opm/services.py b/apps/opm/services.py index 0459ddeb..2b43ee4c 100644 --- a/apps/opm/services.py +++ b/apps/opm/services.py @@ -59,6 +59,13 @@ def bind_opl(ticket: Ticket, transition: Transition, new_ticket_data: dict): op.save() +def t_submit_close_mtask(ticket: Ticket, transition: Transition, new_ticket_data: dict): + # 提交作业关闭时关闭作业监控 + opl = Opl.objects.filter(ticket=ticket).first() + if opl and opl.mtask: + close_mtask(opl.mtask.task_id) + + def opl_audit_end(ticket: Ticket): # 任务执行1 opl = Opl.objects.get(ticket=ticket) @@ -99,11 +106,13 @@ def start_mtask(opl: Opl): # 找到作业点的摄像头, 如果指定摄像头就用指定的摄像头 if op.vchannels: vc_codes = list(op.vchannels.all().values_list('code', flat=True)) - opl_id = opl.id - task = opl_task.delay(vc_codes, opl_id) - time.sleep(3) - opl.mtask = TaskResult.objects.get(task_id=task.task_id) - opl.save() + opl_id = opl.id + task = opl_task.delay(vc_codes, opl_id) + time.sleep(3) + opl.mtask = TaskResult.objects.get(task_id=task.task_id) + opl.save() + return dict(vc_codes=vc_codes) + return dict(vc_codes=[]) def close_mtask(task_id: str): diff --git a/apps/opm/views.py b/apps/opm/views.py index fab8842b..4de61d35 100644 --- a/apps/opm/views.py +++ b/apps/opm/views.py @@ -86,8 +86,8 @@ class OplViewSet(CustomModelViewSet): if obj.mtask: # 先关闭 close_mtask(obj.mtask.task_id) - start_mtask(obj) - return Response() + res = start_mtask(obj) + return Response(res) @action(methods=['post'], detail=True, perms_map={'post': '*'}, serializer_class=Serializer, logging_methods=[])