Files
marktvogt.de/web
vikingowl 9f286b8029 feat(discovery): async crawl — 202 Accepted, status endpoint, UI polls
Handler.Crawl now spawns a goroutine with a 5-minute detached context
and returns 202 immediately. Admin UI polls the new
GET /admin/discovery/crawl-status every 3s until running=false, then
renders CrawlSummary. Bypasses the 60s nginx-gateway proxy_read_timeout
entirely — HTTP requests are all sub-second.

Concurrency: atomic.Bool guard (CompareAndSwap) replaces TryLock,
resultMu RWMutex protects the summary/error state, rateMu protects
the rate-limit check. Rate limit semantics unchanged (still applies
to admin-session path, bearer-token bypass via context flag).
2026-04-18 19:24:48 +02:00
..
2026-02-18 04:49:25 +01:00

Marktvogt Web

SvelteKit + Tailwind 4