From b129355aec8e362c14a03a31f884cb53ec393f96 Mon Sep 17 00:00:00 2001 From: caoqianming Date: Fri, 14 Oct 2022 18:16:06 +0800 Subject: [PATCH] =?UTF-8?q?start=5Fmtask=20=E8=BF=94=E5=9B=9Emtask=5Fid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/ecm/tasks.py | 2 +- apps/opm/services.py | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/apps/ecm/tasks.py b/apps/ecm/tasks.py index cad858d7..478299b2 100644 --- a/apps/ecm/tasks.py +++ b/apps/ecm/tasks.py @@ -85,7 +85,7 @@ def opl_task(vc_codes: list, opl_id: str): algo_codes = list(EventCate.objects.filter(opl_cates=opl_cate).values_list('code', flat=True)) vchannels = TDevice.objects.filter(code__in=vc_codes) opl = Opl.objects.get(id=opl_id) - while time.time()-start_time < 14400: # 一次任务不手动关闭最多持续4小时 + while time.time()-start_time < 14400 and algo_codes: # 一次任务不手动关闭最多持续4小时 for i in vchannels: Thread(target=snap_and_analyse, args=(i, algo_codes, opl)).start() time.sleep(10) diff --git a/apps/opm/services.py b/apps/opm/services.py index ed70e7bc..55123507 100644 --- a/apps/opm/services.py +++ b/apps/opm/services.py @@ -107,16 +107,18 @@ def opl_start(ticket: Ticket): def start_mtask(opl: Opl): op = opl.operation + mtask_id = None + vc_codes = [] # 找到作业点的摄像头, 如果指定摄像头就用指定的摄像头 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) + mtask_id = task.id + opl.mtask = TaskResult.objects.get(task_id=mtask_id) opl.save() - return dict(vc_codes=vc_codes) - return dict(vc_codes=[]) + return dict(vc_codes=vc_codes, mtask_id=mtask_id) def close_mtask(task_id: str):