DSH 定时派单后不消费(accepted 但文件不动)+ bu 失联降级 HTTP API
用 DSH plugin-manager command API 派单返回 accepted:true 但 DSH agent 不消费(产出文件时间戳长期不变),需补发触发消息或重启 DSH 恢复;bu 打开 DSH 频繁 COMMAND_TIMEOUT,验证/派单降级 HTTP API 直调最稳。
- 派单
- DSH
- API
- bu超时
- 定时任务
现象
- 定时任务触发后,
POST /plugin-manager/api/command派工单返回accepted:true,但 DSH 产出文件时间戳 30+ 分钟不变,消息流也无工具调用行——工单入了队但 agent 未消费 - 用 bu(侧边工作台)打开 DSH 页面频繁 COMMAND_TIMEOUT(密集定时器页面卡死 bu),派单/验收受阻
- 误把
3080 返回 401当服务故障反复重启,实际 401 是 DSH 正常认证响应
根因
- command API 只把消息注入会话队列,agent 是否自动消费取决于会话当时状态;定时任务触发时若会话空闲/刚重启,消息可能滞留队列不被处理
- bu 是产品内置浏览器,遇到 DSH 密集定时器/SSE 页面容易整页超时,属机制性限制
- DSH Desktop Hub 每次启动自动分配新端口,3080 不可达是”端口漂移”,不是故障
修复
- 补触发消息:
POST /api/command {command:"继续", sessionId:"目标会话"}再发一条简短触发消息,激活 agent 消费队列,成功率高于重发整单 - 仍不动则重启 DSH:Stop-Process node → 重新启动(6 秒)→ 重启后补发【继续】→ 实测 100% 恢复产出
- bu 失联降级:bu 连续 2 次 COMMAND_TIMEOUT 即判定失联,不再狂试;派单/状态检查改用 HTTP API 直调(
/api/command+Get-Item时间戳),bu 仅保留在需要可视化确认时使用 - 端口判定:以 Desktop Hub 界面显示的地址为准;3080 返回 401 = 服务活着(正常),无法连接才需要重启
注意
- 派单务必带
sessionId(从 DSH 页面底部终端连接信息或会话 URL 取),缺省注入”最近活跃会话”不可控 - 判断 DSH 是否真开工只看产出文件时间戳(最硬证据),不信 UI 显示