mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 19:04:02 +00:00
Correct the remaining permanent-cache comments
The adsbdb proxy keeps successful and 404 answers for 24 hours; two policy comments and the provider's doc comment still said forever.
This commit is contained in:
1 parent
84cd4d7f99
commit
761953b0bf
2 files changed
+5
-4
No files matched your search
@@ -7,8 +7,9 @@ const ADSBDB_MAX_RESPONSE_BYTES = 1024 * 1024;
|
|||||||
/**
|
/**
|
||||||
* adsbdb.com enrichment proxy: callsign → route (airline + origin/destination
|
* adsbdb.com enrichment proxy: callsign → route (airline + origin/destination
|
||||||
* airports) and hex → aircraft type/registration. Free community API — cached
|
* airports) and hex → aircraft type/registration. Free community API — cached
|
||||||
* aggressively: ONE upstream request per new key ever (404s negative-cached),
|
* aggressively: successes and 404s are kept per key for 24 hours (TTL_MS) and
|
||||||
* persisted to disk so restarts don't re-hammer it. Adapted from skylight
|
* persisted to disk so restarts don't re-hammer it; other failures are not
|
||||||
|
* cached. Adapted from skylight
|
||||||
* (MIT) server/src/enrich/routes.ts.
|
* (MIT) server/src/enrich/routes.ts.
|
||||||
*/
|
*/
|
||||||
export function adsbdbProxy() {
|
export function adsbdbProxy() {
|
||||||
|
|||||||
@@ -243,7 +243,7 @@ export const ENRICH_DISPATCH_GAP_MS = 200;
|
|||||||
// of drip, so the backlog can't outgrow a poll and re-sorts fresh), and
|
// of drip, so the backlog can't outgrow a poll and re-sorts fresh), and
|
||||||
// - a ROLLING token-bucket budget (below) bounding the sustained ambient
|
// - a ROLLING token-bucket budget (below) bounding the sustained ambient
|
||||||
// request rate (repeat sessions resolve instantly from the proxy's
|
// request rate (repeat sessions resolve instantly from the proxy's
|
||||||
// permanent disk cache).
|
// 24-hour disk cache).
|
||||||
// Fail-silent by contract: the sweep never throws into the poll loop, never
|
// Fail-silent by contract: the sweep never throws into the poll loop, never
|
||||||
// blocks rendering, and never touches tracking state. When a type answer
|
// blocks rendering, and never touches tracking state. When a type answer
|
||||||
// lands, _requestTypeEnrichment's callback swaps the billboard glyph + scale
|
// lands, _requestTypeEnrichment's callback swaps the billboard glyph + scale
|
||||||
@@ -257,7 +257,7 @@ export const ENRICH_DISPATCH_GAP_MS = 200;
|
|||||||
// ENRICH_AMBIENT_REFILL_TOKENS every ENRICH_AMBIENT_REFILL_WINDOW_MS, clamped
|
// ENRICH_AMBIENT_REFILL_TOKENS every ENRICH_AMBIENT_REFILL_WINDOW_MS, clamped
|
||||||
// at the ceiling (no banking beyond one bucket). Numbers: 150 / 5 min sustains
|
// at the ceiling (no banking beyond one bucket). Numbers: 150 / 5 min sustains
|
||||||
// 0.5 req/s worst case — an order of magnitude under the 5/s drip that (with
|
// 0.5 req/s worst case — an order of magnitude under the 5/s drip that (with
|
||||||
// the 4-concurrent limit + the proxy's permanent disk cache) is the REAL
|
// the 4-concurrent limit + the proxy's 24-hour disk cache) is the REAL
|
||||||
// politeness bound on adsbdb; the 300 ceiling preserves the old first-look
|
// politeness bound on adsbdb; the 300 ceiling preserves the old first-look
|
||||||
// burst so a fresh region still classifies quickly.
|
// burst so a fresh region still classifies quickly.
|
||||||
/** Bucket ceiling: max ambient tokens held at once (= the initial burst). */
|
/** Bucket ceiling: max ambient tokens held at once (= the initial burst). */
|
||||||
|
|||||||
Reference in new issue
Block a user