d9355a6299
- signal-bus: in-memory pub/sub for Signal dispatch, sync broadcast, subscriber error isolation - reflex-scheduler: interval + event-driven triggers, throttle enforcement, merge/coalesce (pending flag, no unbounded queue), workflow reflexes skipped - kernel: orchestrator tying workers, signal bus, and scheduler together, graceful shutdown - examples/nerve.yaml: cpu-usage (10s), disk-usage (30s), system-health (on: [cpu-usage, disk-usage]) - 20 new tests (45 total): signal bus (8) + reflex scheduler (12) Closes #4 小橘 🍊(NEKO Team)
41 lines
907 B
YAML
41 lines
907 B
YAML
# Example nerve.yaml demonstrating Signal Bus & Reflex Scheduler (Phase 3)
|
|
#
|
|
# Layout:
|
|
# - cpu-usage: periodic every 10s, throttled to 5s minimum between computes
|
|
# - disk-usage: periodic every 30s
|
|
# - system-health: derived sense, triggered whenever cpu-usage OR disk-usage emits
|
|
|
|
senses:
|
|
cpu-usage:
|
|
group: system
|
|
throttle: 5s
|
|
timeout: 8s
|
|
grace_period: null
|
|
|
|
disk-usage:
|
|
group: system
|
|
throttle: null
|
|
timeout: 15s
|
|
grace_period: null
|
|
|
|
system-health:
|
|
group: derived
|
|
throttle: 2s
|
|
timeout: 10s
|
|
grace_period: null
|
|
|
|
reflexes:
|
|
# cpu-usage runs on a 10-second interval
|
|
- sense: cpu-usage
|
|
interval: 10s
|
|
|
|
# disk-usage runs on a 30-second interval
|
|
- sense: disk-usage
|
|
interval: 30s
|
|
|
|
# system-health is event-driven: fires whenever cpu-usage or disk-usage emits a signal
|
|
- sense: system-health
|
|
on:
|
|
- cpu-usage
|
|
- disk-usage
|