双进程 JSON-RPC WebSocket 通信与 SlashWorker 避锁队列
解密 tui_gateway/server.py 状态路由分发与 slash_worker.py 串行排队机制
📊 图 6-2-1:双进程长连接路由、WebSocket 帧解码与 SlashWorker 串行处理时序图
🔌 1. 双进程 JSON-RPC 2.0 长连接数据路由
当用户在 hermes --tui 输入框里发送指令时,指令通过 tui_gateway/server.py 维护 of JSON-RPC 2.0 服务器进行 WebSocket 长连接帧数据分发路由。
📊 图 6-2-2:双进程 JSON-RPC 上下行数据帧与控制流交互时序图
🚦 2. SlashWorker 单线程串行队列
像 /compress 这种斜杠指令包含了非常繁重的数据库写日志、文件读取等 CPU 与 I/O 密集开销。系统在 tui_gateway/slash_worker.py 中实现了一个后台 SlashWorker 单线程串行队列,保证任务排队执行,防止数据库 Busy 锁死。