Skip to main content

S08 Background Tasks - 执行流程图

本文档描述 s08_background_tasks.py 的完整执行流程。


1. 系统架构概览

加载中...

2. 后台任务启动流程 (run 方法)

加载中...

3. 后台任务执行流程 (_execute 方法)

加载中...

4. 通知队列处理流程

加载中...

5. 代理主循环流程 (agent_loop)

加载中...

6. 完整时序图

加载中...

7. 状态转换图

加载中...

8. 并发场景示例

加载中...

9. 数据结构

tasks 字典结构

tasks = {
"a1b2c3d4": {
"status": "completed", # running | completed | timeout | error
"result": "命令输出内容", # 最多 50000 字符
"command": "python script.py" # 原始命令
},
"e5f6g7h8": {
"status": "running",
"result": None,
"command": "npm install"
}
}

通知对象结构

notification = {
"task_id": "a1b2c3d4",
"status": "completed",
"command": "python script.py", # 前 80 字符
"result": "输出内容" # 前 500 字符
}

10. 关键特性总结

特性说明
非阻塞run() 立即返回 task_id,不等待命令完成
并行多个任务可在不同线程中同时执行
状态跟踪check() 可查询任务状态
通知注入完成的任务结果自动注入到对话
线程安全使用 threading.Lock 保护共享队列
超时保护命令执行最多 300 秒
守护线程主程序退出时后台线程自动终止