perf: remote browser CPU / zombie optimization

- Add tini (init: true in compose) to reap orphan Chromium processes
- Reduce screenshot push frequency (active 0.12→0.20s, idle 0.35→1.00s,
  deep idle 1.00→5.00s, backoff 0.60→2.00s)
- Add 5s timeout to screenshot in WebSocket push loop
- close() now wraps context.close() in asyncio.wait_for(10s)
  with browser.close() fallback on timeout
- Two-phase close logging (closing → closed / close_failed)
- Auth-capture sessions evicted after 10min TTL
- shutdown() with timeout protection and logging
- close_ok correctly tracks success through browser fallback path
This commit is contained in:
liumangmang
2026-06-01 15:47:08 +08:00
parent c8ba25f08e
commit a949969c4d
4 changed files with 75 additions and 19 deletions
+1
View File
@@ -24,6 +24,7 @@ services:
options:
max-size: "10m"
max-file: "3"
init: true
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/healthz"]
interval: 30s