Skip to content

Commit 6a719b4

Browse files
committed
fix: 优化任务操作线程安全,将同步锁操作移至线程池避免阻塞事件循环
1 parent af11ef4 commit 6a719b4

File tree

2 files changed

+376
-302
lines changed

2 files changed

+376
-302
lines changed

src/backEnd/api/commonApi/webTaskController.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
# Web端扫描任务提交接口
22
# 与BurpSuite插件端共用相同的业务逻辑,但日志来源区分
3+
import asyncio
34
import logging
45

56
from fastapi import HTTPException
@@ -74,9 +75,10 @@ async def add_task_from_web(
7475

7576
if res.success:
7677
logger.info(f"[Web] Task created successfully: {res.data}")
77-
# 通知前端刷新数据
78+
# 通知前端刷新数据(使用 fire-and-forget 模式,避免阻塞响应)
7879
task_id = res.data.get('taskid') if isinstance(res.data, dict) else None
79-
await ws_manager.notify_task_created(task_id)
80+
# 创建异步任务发送通知,不阻塞当前请求
81+
asyncio.create_task(ws_manager.notify_task_created(task_id))
8082
else:
8183
logger.warning(f"[Web] Task creation failed: {res.msg}")
8284

0 commit comments

Comments
 (0)