anti
5c0631e12c
feat(agent,forwarder,updater): publish system.<worker>.health heartbeats (DEBT-031 workers 7-9)
...
All three workers now share a run_health_heartbeat helper in
decnet.bus.publish. Each publishes system.<worker>.health on a 30s tick
with {worker, ts} plus optional per-worker extras. Subscribers can
watch system.*.health to see every DECNET worker on a host at once.
- agent: heartbeat runs inside the FastAPI lifespan alongside the
existing master-facing heartbeat; bus-disabled path is a no-op.
- forwarder: heartbeat task spawned at run_forwarder entry, cancelled
in the finally block so a crashed master loop never leaks the task.
- updater: new FastAPI lifespan hosts the heartbeat.
Heartbeat helper swallows extra() failures and is cancellation-safe so
lifespan teardown never hangs on it.
2026-04-21 17:02:10 -04:00
..
2026-04-21 14:39:12 -04:00
2026-04-21 17:02:10 -04:00
2026-04-21 16:57:21 -04:00
2026-04-21 16:53:03 -04:00
2026-04-19 23:50:53 -04:00
2026-04-20 13:14:48 -04:00
2026-04-17 13:20:05 -04:00
2026-04-21 16:47:55 -04:00
2026-04-21 16:54:40 -04:00
2026-04-19 23:50:53 -04:00
2026-04-21 16:47:55 -04:00
2026-04-20 01:26:56 -04:00
2026-04-21 01:41:30 -04:00
2026-04-21 14:39:12 -04:00
2026-04-19 19:07:24 -04:00
2026-04-21 16:58:49 -04:00
2026-04-03 23:07:44 -03:00
2026-04-15 23:46:46 -04:00
2026-04-19 23:50:53 -04:00
2026-04-17 14:49:13 -04:00
2026-04-18 05:36:48 -04:00
2026-04-12 00:26:22 -04:00
2026-04-15 13:58:12 -04:00
2026-04-17 14:52:22 -04:00
2026-04-19 23:50:53 -04:00
2026-04-20 16:43:49 -04:00
2026-04-15 18:02:52 -04:00
2026-04-12 00:26:22 -04:00
2026-04-19 22:42:52 -04:00
2026-04-14 15:02:34 -04:00
2026-04-19 23:50:53 -04:00
2026-04-15 22:57:03 -04:00
2026-04-21 10:23:10 -04:00
2026-04-12 00:34:45 -04:00
2026-04-19 05:46:08 -04:00
2026-04-13 01:43:52 -04:00
2026-04-14 02:14:46 -04:00
2026-04-10 01:50:08 -04:00
2026-04-09 02:31:14 -04:00
2026-04-09 02:31:14 -04:00
2026-04-19 19:59:06 -04:00
2026-04-17 13:35:43 -04:00
2026-04-20 02:26:54 -04:00
2026-04-19 03:17:17 -04:00
2026-04-04 04:31:00 -03:00
2026-04-13 23:20:37 -04:00
2026-04-14 15:02:34 -04:00
2026-04-13 01:43:52 -04:00
2026-04-17 15:05:18 -04:00
2026-04-17 16:37:34 -04:00
2026-04-04 17:36:16 -03:00
2026-04-09 02:31:14 -04:00
2026-04-08 01:04:59 -04:00
2026-04-17 14:01:36 -04:00
2026-04-10 00:14:14 -04:00
2026-04-10 01:50:08 -04:00
2026-04-13 07:39:01 -04:00
2026-04-20 02:18:11 -04:00
2026-04-12 07:48:17 -04:00
2026-04-15 12:51:33 -04:00
2026-04-15 12:59:54 -04:00
2026-04-17 13:13:36 -04:00
2026-04-19 19:59:06 -04:00
2026-04-12 00:26:22 -04:00
2026-04-17 13:39:09 -04:00
2026-04-14 12:53:55 -04:00
2026-04-14 12:53:55 -04:00
2026-04-14 12:22:20 -04:00
2026-04-14 12:53:55 -04:00
2026-04-17 22:57:53 -04:00
2026-04-15 17:36:40 -04:00
2026-04-17 19:09:15 -04:00
2026-04-17 16:37:34 -04:00
2026-04-18 05:36:48 -04:00
2026-04-12 07:48:17 -04:00
2026-04-19 23:50:53 -04:00
2026-04-15 12:51:35 -04:00
2026-04-15 12:51:35 -04:00
2026-04-17 22:57:53 -04:00
2026-04-14 15:02:34 -04:00
2026-04-19 23:50:53 -04:00
2026-04-18 05:34:50 -04:00
2026-04-18 05:34:50 -04:00
2026-04-17 22:57:53 -04:00
2026-04-15 23:23:13 -04:00
2026-04-13 20:22:08 -04:00