fix: _agent_thread 局部 async def _run 遮蔽全局 dict _run——异常分支 _run["state"] 报 TypeError 致状态永不更新;改名 _execute
This commit is contained in:
+2
-2
@@ -142,12 +142,12 @@ def _agent_thread(run_id, prompt, cfg):
|
|||||||
agent.s.default_serial = cfg.get("default_serial") or agent.s.default_serial
|
agent.s.default_serial = cfg.get("default_serial") or agent.s.default_serial
|
||||||
agent.on_step = on_step
|
agent.on_step = on_step
|
||||||
|
|
||||||
async def _run():
|
async def _execute():
|
||||||
await agent._load_tools()
|
await agent._load_tools()
|
||||||
return await agent.run(prompt, cfg.get("default_serial") or "")
|
return await agent.run(prompt, cfg.get("default_serial") or "")
|
||||||
|
|
||||||
# 整体超时保护:模型/工具卡死时结束运行,避免单实例被永久占用
|
# 整体超时保护:模型/工具卡死时结束运行,避免单实例被永久占用
|
||||||
answer = asyncio.run(asyncio.wait_for(_run(), timeout=600))
|
answer = asyncio.run(asyncio.wait_for(_execute(), timeout=600))
|
||||||
with _lock:
|
with _lock:
|
||||||
_run["state"] = "done"
|
_run["state"] = "done"
|
||||||
_run["answer"] = answer
|
_run["answer"] = answer
|
||||||
|
|||||||
Reference in New Issue
Block a user