webhooker/internal
clawbot 10db6c5b84
All checks were successful
check / check (push) Successful in 58s
refactor: bounded worker pool with DB-mediated retry fallback
Replace unbounded goroutine-per-delivery fan-out with a fixed-size
worker pool (10 workers). Channels serve as bounded queues (10,000
buffer). Workers are the only goroutines doing HTTP delivery.

When retry channel overflows, timers are dropped instead of re-armed.
The delivery stays in 'retrying' status in the DB and a periodic sweep
(every 60s) recovers orphaned retries. The database is the durable
fallback — same path used on startup recovery.

Addresses owner feedback on circuit breaker recovery goroutine flood.
2026-03-01 22:52:27 -08:00
..
config refactor: auto-generate session key and store in database 2026-03-01 21:57:19 -08:00
database refactor: auto-generate session key and store in database 2026-03-01 21:57:19 -08:00
delivery refactor: bounded worker pool with DB-mediated retry fallback 2026-03-01 22:52:27 -08:00
globals initial 2026-03-01 22:52:08 +07:00
handlers refactor: self-contained delivery tasks — engine delivers without DB reads in happy path 2026-03-01 22:09:41 -08:00
healthcheck feat: bring repo up to REPO_POLICIES standards (#6) 2026-03-01 19:01:44 +01:00
logger refactor: use slog.LevelVar for dynamic log levels 2026-03-01 16:01:44 -08:00
middleware fix: restrict CORS to same-origin (closes #23) 2026-03-01 16:36:56 -08:00
server fix: database target writes to dedicated archive table 2026-03-01 16:40:27 -08:00
session refactor: auto-generate session key and store in database 2026-03-01 21:57:19 -08:00