mirror of
https://github.com/jumpserver/jumpserver.git
synced 2025-09-17 15:59:04 +00:00
perf: 处理停止任务异常情况
This commit is contained in:
@@ -237,7 +237,7 @@ class JobExecutionViewSet(OrgBulkModelViewSet):
|
|||||||
{'error': _('The task is being created and cannot be interrupted. Please try again later.')},
|
{'error': _('The task is being created and cannot be interrupted. Please try again later.')},
|
||||||
status=400
|
status=400
|
||||||
)
|
)
|
||||||
|
try:
|
||||||
task = AsyncResult(task_id, app=app)
|
task = AsyncResult(task_id, app=app)
|
||||||
inspect = app.control.inspect()
|
inspect = app.control.inspect()
|
||||||
|
|
||||||
@@ -249,6 +249,9 @@ class JobExecutionViewSet(OrgBulkModelViewSet):
|
|||||||
task.revoke(terminate=True)
|
task.revoke(terminate=True)
|
||||||
instance.set_error('Job stop by "revoke task {}"'.format(task_id))
|
instance.set_error('Job stop by "revoke task {}"'.format(task_id))
|
||||||
return Response({'task_id': task_id}, status=200)
|
return Response({'task_id': task_id}, status=200)
|
||||||
|
except Exception as e:
|
||||||
|
instance.set_error(str(e))
|
||||||
|
return Response({'error': f'Error while stopping the task {task_id}: {e}'}, status=400)
|
||||||
|
|
||||||
instance.stop()
|
instance.stop()
|
||||||
return Response({'task_id': task_id}, status=200)
|
return Response({'task_id': task_id}, status=200)
|
||||||
|
Reference in New Issue
Block a user