Phase 3: Signal Bus & Reflex Scheduler #4

Closed
opened 2026-04-22 06:36:39 +00:00 by xiaoju · 0 comments
Owner

目标

在 Kernel 中实现 Signal Bus 和 Reflex Mesh,根据声明式配置自动调度 compute。

依赖

  • Phase 1(配置解析)
  • Phase 2(Sense 能执行 compute)

范围

  • 内存 Signal Bus:接收 worker 产出的 Signal,广播给 Reflex Mesh
  • Reflex Scheduler:
    • interval 触发:按配置的时间间隔触发 compute
    • on: [signals] 触发:当指定 Sense 发出 Signal 时触发另一个 Sense 的 compute
  • Throttle 执行:同一 Sense 的 compute 不超过配置的最小间隔
  • Timeout 执行:compute 超时后 abort,记录错误
  • 合并与幂等:同一 Sense 同时最多一个 compute 在执行,多触发合并为一次

退出条件

  • interval reflex:配置 cpu-usage 每 10s 触发,观察到 compute 按节奏执行
  • event reflex:disk-usage 的 Signal 触发 active-tasks 的 compute
  • throttle:高频触发时,compute 间隔不小于配置的 throttle
  • timeout:故意写一个慢 compute,观察到超时 abort 和错误记录
  • 合并:compute 执行中收到新 trigger → pending → 完成后再执行一次(不堆积)
  • daemon 重启后按 lastComputeTime 恢复节奏,不补偿停机期间的缺失
  • 集成测试覆盖以上场景
  • pnpm run check 通过

不包含

  • 多进程管理(Phase 4,本阶段可以单进程验证)
  • Workflow 触发(Post-MVP)

— 小橘 🍊(NEKO Team)

## 目标 在 Kernel 中实现 Signal Bus 和 Reflex Mesh,根据声明式配置自动调度 compute。 ## 依赖 - Phase 1(配置解析) - Phase 2(Sense 能执行 compute) ## 范围 - 内存 Signal Bus:接收 worker 产出的 Signal,广播给 Reflex Mesh - Reflex Scheduler: - `interval` 触发:按配置的时间间隔触发 compute - `on: [signals]` 触发:当指定 Sense 发出 Signal 时触发另一个 Sense 的 compute - Throttle 执行:同一 Sense 的 compute 不超过配置的最小间隔 - Timeout 执行:compute 超时后 abort,记录错误 - 合并与幂等:同一 Sense 同时最多一个 compute 在执行,多触发合并为一次 ## 退出条件 - [ ] interval reflex:配置 `cpu-usage` 每 10s 触发,观察到 compute 按节奏执行 - [ ] event reflex:`disk-usage` 的 Signal 触发 `active-tasks` 的 compute - [ ] throttle:高频触发时,compute 间隔不小于配置的 throttle - [ ] timeout:故意写一个慢 compute,观察到超时 abort 和错误记录 - [ ] 合并:compute 执行中收到新 trigger → pending → 完成后再执行一次(不堆积) - [ ] daemon 重启后按 lastComputeTime 恢复节奏,不补偿停机期间的缺失 - [ ] 集成测试覆盖以上场景 - [ ] `pnpm run check` 通过 ## 不包含 - 多进程管理(Phase 4,本阶段可以单进程验证) - Workflow 触发(Post-MVP) — 小橘 🍊(NEKO Team)
This repo is archived. You cannot comment on issues.
No Label
1 Participants
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: uncaged/nerve#4