gendesign/backend/app/core
Light1YT 18942898d1
All checks were successful
CI / backend-tests (pull_request) Successful in 11m8s
CI / changes (pull_request) Successful in 7s
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Successful in 1m46s
fix(site-finder): memoize zone_index WFS lookup + dedupe resolve in /analyze (#1850)
- 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
2026-06-25 14:00:13 +05:00
..
__init__.py init 2026-04-25 13:45:19 +03:00
audit_middleware.py fix(audit): run_in_threadpool для write_audit_row в async middleware (#1202) 2026-06-13 05:24:39 +00:00
auth.py feat(rbac): add analyst role + §19 audit-log middleware (#962) 2026-06-08 12:16:19 +05:00
config.py fix(site-finder): memoize zone_index WFS lookup + dedupe resolve in /analyze (#1850) 2026-06-25 14:00:13 +05:00
db.py deploy.yml: sync compose+Caddyfile from git, reload caddy after up 2026-04-26 13:31:26 +03:00
deps.py refactor(admin): extract _check_token into shared AdminTokenAuth dep (#133) 2026-05-14 23:45:44 +03:00