- memoize coord→zone_index (bounded thread-safe LRU, ±1m key, negative caching) so repeat /analyze skips the live WFS round-trip; regulation content still read fresh from zone_regulation_cache (cache-update correctness preserved). Lock guards the module-global memo (sync /analyze runs in threadpool); WFS call stays outside lock. - resolve once, thread into build_ird_analyze_block (resolved_zone_regulation kwarg) → no redundant 2nd resolve when both enable_zoning_regulation_in_analyze and enable_ird_analyze are on. - unify divergent timeouts (parcels 3s / ird 4s) into settings.geoportal_timeout_s=4. - document (not change) the mid-request db.commit() smell on cache-miss (separate task). Closes #1850 |
||
|---|---|---|
| .. | ||
| v1 | ||
| __init__.py | ||