mirror of
https://github.com/warmbly/warmbly.git
synced 2026-08-20 08:01:26 +00:00
e790818d35
Three small follow-ups that turn the fleet management system from 'all the pieces ship green' into 'actually produces telemetry': cmd/worker/main.go: go workerService.RunHealth(ctx, 30s) alongside Heartbeat. The sampler snapshots rolling 1m counters into a WorkerHealth event via the existing event bus + codec path. cmd/backend/main.go: background goroutine refreshes worker_capacity_view every minute via REFRESH MATERIALIZED VIEW CONCURRENTLY. The assignment loop, Rebalancer, Scaler, and QuarantineEvaluator all read from the view, so it's the freshness gate for the whole system. internal/app/worker/event_send_email.go + health_record.go: classify every wmail.SendResult into the right counter (auth / rate-limit / bounce-hard / bounce-soft / success) and record SMTP latency. Falls back to free-text message classification when the error code is generic, so signal stays useful as new error paths are added. End-to-end: a worker that bounces 10% of sends now lands in the 'quarantined' band within 5min of the QuarantineEvaluator tick, auto-drains via Rebalancer, and triggers a Scaler alert if its removal drops fleet capacity below the warning threshold.