Files
modules/scheduling-queues/hyper-p2p-cron-gossip/docs/architecture.md
T
2026-05-20 23:36:32 -04:00

26 lines
643 B
Markdown

# Architecture: hyper-p2p-cron-gossip
**Protocol:** `cron-gossip/v1`
```mermaid
flowchart TB
App --> CG[HyperP2PCronGossip]
CG --> Jobs["_jobs Map"]
CG --> Tick[tick dueCron]
Tick --> Fire[cron-fire gossip]
```
## Wire messages
| type | fields | direction | behavior |
|------|--------|-----------|----------|
| `cron-fire` | `jobId`, `expr`, `peer`, `at` | bidirectional | Sync `lastRun`, learn unknown jobs |
## State model
Job: `{ jobId, expr, lastRun, at }`.
## Composition
Pair with `hyper-p2p-leader-lease` so only the leader schedules cluster-wide jobs; use `hyper-p2p-deadline-queue` for per-task deadlines after fire.