mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-04 02:14:01 +00:00
fix(osm): end the server's place search before the voice answer gives up
The voice answer waited 25 s for /api/osm/features, while the server let Overpass run for 25 s and itself waited up to 40 s per endpoint and 45 s in all. When the browser gave up first it closed the request, the route cancelled the upstream query, and nothing was cached, so the OSM_TIMEOUT retry started the same query from scratch and timed out again. The server now tells Overpass 20 s, waits 22 s per endpoint and 22 s in all, which ends inside the client's 25 s. A test pins that ordering.
This commit is contained in:
1 parent
51637a5e96
commit
4efba8ccca
5 files changed
+37
-10
No files matched your search
@@ -24,16 +24,22 @@ export const OSM_FEATURE_LIMITS = Object.freeze({
|
||||
maxCountDeg2: 36,
|
||||
/** Most features one fetch returns. */
|
||||
maxLimit: 1000,
|
||||
/** Overpass server-side timeout, seconds. */
|
||||
timeoutS: 25,
|
||||
/** Overpass server-side timeout, seconds: it gives up before we stop waiting. */
|
||||
timeoutS: 20,
|
||||
/** Overpass server-side memory cap, bytes. */
|
||||
maxsize: 64 * 1024 * 1024,
|
||||
/** Response bytes read from the upstream. */
|
||||
maxResponseBytes: 16 * 1024 * 1024,
|
||||
/** Per-upstream wait: a busy Overpass answers these in 10–30 s. */
|
||||
upstreamTimeoutMs: 40_000,
|
||||
/** The whole search, across every configured endpoint in turn. */
|
||||
upstreamBudgetMs: 45_000,
|
||||
/** Per-upstream wait: the Overpass timeout plus transfer time. */
|
||||
upstreamTimeoutMs: 22_000,
|
||||
/**
|
||||
* The whole search, across every configured endpoint in turn. It ends
|
||||
* before the voice answer's own deadline (`OSM_QUERY_LIMITS.budgetMs` in
|
||||
* `src/voice/osmActions.js`, 25 s): a browser that gives up first closes
|
||||
* the request, which cancels the upstream query, so nothing would be
|
||||
* cached for the retry.
|
||||
*/
|
||||
upstreamBudgetMs: 22_000,
|
||||
});
|
||||
|
||||
/** Tags a returned feature keeps, besides the preset's own. */
|
||||
|
||||
Reference in new issue
Block a user