From 11357a58f30158292a3ed3bfa2159e4dc77243d4 Mon Sep 17 00:00:00 2001 From: "lei.chen" Date: Wed, 12 Aug 2026 08:31:30 +0000 Subject: [PATCH] docs: mark Phase 2 (SSE events + WatchJobs + advanced tools) implemented Co-Authored-By: Claude --- docs/Scheduler-Agent-设计文档.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/docs/Scheduler-Agent-设计文档.md b/docs/Scheduler-Agent-设计文档.md index 1728cf2..c84931b 100644 --- a/docs/Scheduler-Agent-设计文档.md +++ b/docs/Scheduler-Agent-设计文档.md @@ -345,11 +345,12 @@ C Controller ──OPCode_push──→ apiserver ──SSE──→ mcp-server - 安全性审查(✅ destructive 注解 + `mcp_operator` RBAC 角色) - **待集群验证**:运行中的 apiserver + 生成 `mcp_operator` API Key + Claude Code MCP 配置(同 Phase 0 阻塞项) -### 5.3 Phase 2 — 监控 + 纠错 loop(+1 周) +### 5.3 Phase 2 — 监控 + 纠错 loop(✅ 已实施 2026-08-12) - Agent 工作流:提交 → WatchJobs 接收事件 → 发现失败 → 分析日志 → 建议修复 - **自研调度器的实时事件流是核心差异点**:作业状态变化时 adapter 直接推送事件,LLM 自动触发处理 - 与 LSF/Slurm 适配器的"轮询"模式形成体验代差 +- **已实施**:apiserver `/xce/v1/events` SSE + EventBroker(ADR-004);schedulerclient `WatchJobs()`;mcp-server 4 个高级工具(`scheduler_wait_job`/`scheduler_analyze_failure`/`scheduler_suggest_resources`/`scheduler_estimate_wait_time`)。t1 集群验证:SSE 流推送 PEND→RUN→DONE 事件、WatchJobs 捕获完整生命周期、4 工具全部工作。**顺带修复**:schedulerclient `ListJobs` 的 filter 参数(`queue_name` → `filter=queue_name:eq:...`,原参数被 apiserver 400 拒绝)。 ### 5.4 Phase 3 — LSF 适配器(+1 月) @@ -502,9 +503,9 @@ Agent loop 跨多轮调度器轮次保持上下文: - **决策**:mcp-server 调用 apiserver 现成 REST API,不是进程内 import Go package - **理由**:myxce 调度内核是 C,Go 只存在于 apiserver(cgo 桥接)和 xcecli。直接 cgo 链接 `libxce` 绕开 apiserver 复杂度接近重写一次 apiserver -### 9.4 ADR-004:事件流对外通道用 SSE(待实施) +### 9.4 ADR-004:事件流对外通道用 SSE(✅ 已实施 2026-08-12) -- **状态**:🕐 设计完成,Phase 1 后实施 +- **状态**:✅ 已实施(2026-08-12)。`/xce/v1/events` SSE + EventBroker + `WatchJobs()` + mcp-server 4 高级工具,t1 集群验证通过。 - **决策**:apiserver 加 SSE endpoint + EventBroker,复用已有 `NotificationHandler` 进程内事件 ---