Files
worldmonitor/scripts
Elie Habib 49b73c56ec fix: serialize OpenSky requests with global 429 cooldown (#332)
Root cause: 5 unique bbox queries fire simultaneously when the 30s
negative cache expires, ALL get 429'd by OpenSky, ALL get re-cached
as negative for 30s, cycle repeats forever with zero data flowing.

Fix:
- Global 429 cooldown (90s default, env-configurable) — when ANY
  request gets 429, ALL upstream requests are blocked until cooldown
  expires. Reduces wasted requests from 5/30s to 1/90s.
- Request serializer queue — upstream requests go one at a time with
  2s minimum spacing. Prevents concurrent burst that triggers rate limit.
- Promisified upstream fetch replaces callback-based https.get for
  cleaner queue integration.
- /opensky-reset clears the 429 cooldown.
- /metrics and /opensky-diag expose cooldown state for debugging.
2026-02-24 17:24:34 +00:00
..