开启关闭任务优化
This commit is contained in:
parent
870d87b44d
commit
5a25bfe343
|
@ -103,11 +103,7 @@ def opl_start(ticket: Ticket):
|
|||
|
||||
|
||||
def start_mtask(opl: Opl):
|
||||
if opl.mtask_uid:
|
||||
# 先关闭
|
||||
close_mtask(opl.mtask_uid)
|
||||
opl.mtask_uid = None
|
||||
opl.save()
|
||||
close_mtask(opl)
|
||||
op = opl.operation
|
||||
mtask_uid = None
|
||||
vc_codes = []
|
||||
|
@ -122,13 +118,18 @@ def start_mtask(opl: Opl):
|
|||
return dict(vc_codes=vc_codes, mtask_uid=mtask_uid)
|
||||
|
||||
|
||||
def close_mtask(task_id: str):
|
||||
def close_mtask(opl: Opl):
|
||||
"""关闭celery任务
|
||||
"""
|
||||
from celery.app.control import Control
|
||||
from server.celery import app
|
||||
celery_control = Control(app=app)
|
||||
celery_control.revoke(task_id, terminate=True)
|
||||
qs = TaskResult.objects.filter(task_args__contains=opl.id, status__in=['PENDING', 'RECEIVED', 'STARTED'])
|
||||
if qs:
|
||||
celery_control = Control(app=app)
|
||||
for i in qs:
|
||||
celery_control.revoke(i.task_id, terminate=True)
|
||||
opl.mtask_uid = None
|
||||
opl.save()
|
||||
|
||||
|
||||
def opl_end(ticket: Ticket):
|
||||
|
|
|
@ -128,14 +128,7 @@ 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()
|
||||
close_mtask(obj)
|
||||
return Response()
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue