彻底停止作业监控

This commit is contained in:
caoqianming 2023-02-11 17:14:43 +08:00
parent 940f07033c
commit 870d87b44d
2 changed files with 5 additions and 2 deletions

View File

@ -105,7 +105,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 < 10800: # 一次任务不手动关闭最多持续3小时
for i in vchannels:
Thread(target=snap_and_analyse, args=(i, algo_codes, opl)).start()
time.sleep(10)

View File

@ -130,7 +130,10 @@ class OplViewSet(CustomModelViewSet):
obj = self.get_object()
if obj.mtask_uid:
close_mtask(obj.mtask_uid)
# 防止没变化,手动处理一下
from django_celery_results.models import TaskResult
qs = TaskResult.objects.filter(task_args__contains=obj.id, status__in=['PENDING', 'RECEIVED', 'STARTED'])
for i in qs:
close_mtask(i.task_id)
obj.mtask_uid = None
obj.save()
return Response()