gendesign/backend
lekss361 1db19b3b8a feat(scrape-kn): parallel Phase B/C + wire obj_checks + documents + is_ekb auto-derive
4 changes:
1. asyncio.gather() в Phase B/C — 6 endpoints/obj параллельно
   через _fetch_*_safe wrappers. ~6x speedup (3.5h -> ~35min).
   BrowserSession._sem(3) bounds concurrent requests автоматически.
2. Wire documents extractor (services/scrapers/documents.py) —
   per-object call в parallel gather. Заполняет domrf_kn_documents
   (был пуст после PR #305 schema-only).
3. Create services/scrapers/obj_checks.py extractor + wire в loop.
   Заполняет domrf_obj_checks (был пуст после PR #303 schema-only).
   Endpoint URL /checks не верифицирован devtools — выведен по
   паттерну /infrastructure; при ошибке пишет в kn_scrape_failures.
4. Phase E (после Phase D) — UPDATE is_ekb=TRUE для свежего snapshot
   по district_name ILIKE екатеринбург/свердловск. Best-effort
   (exception caught, scrape не прерывается).
2026-05-17 22:34:58 +03:00
..
alembic ops: alembic baseline, pre-commit, TIGER cleanup, pg_dump scripts 2026-04-26 13:08:51 +03:00
app feat(scrape-kn): parallel Phase B/C + wire obj_checks + documents + is_ekb auto-derive 2026-05-17 22:34:58 +03:00
db/init ops: alembic baseline, pre-commit, TIGER cleanup, pg_dump scripts 2026-04-26 13:08:51 +03:00
output feat(geo): NSPD bulk-fetcher без Playwright + resume-friendly UI 2026-05-11 08:53:28 +03:00
tests fix(sf-09): capacity-aware redistribute (round 2) — bounded + correct invariant 2026-05-17 15:30:50 +03:00
.dockerignore fix(scraper): диагностируем «кнопка не работает» — Redis lock + task_received log 2026-04-28 23:17:42 +03:00
.env.example feat(backend): sentry-sdk init для FastAPI + Celery (#204 backend) (#207) 2026-05-16 15:09:16 +00:00
.env.runtime.example sprint1: nspd scraper industrialization, per-bucket elasticity, cadastre cross-check, sentry releases 2026-04-30 21:51:19 +03:00
alembic.ini ops: alembic baseline, pre-commit, TIGER cleanup, pg_dump scripts 2026-04-26 13:08:51 +03:00
debug.log feat(geo): NSPD bulk-fetcher без Playwright + resume-friendly UI 2026-05-11 08:53:28 +03:00
Dockerfile fix(scraper): диагностируем «кнопка не работает» — Redis lock + task_received log 2026-04-28 23:17:42 +03:00
pyproject.toml fix(scrape-objective): stream-parse lots_pf via ijson to avoid OOM (#315) 2026-05-17 16:37:30 +00:00
uv.lock fix(scrape-objective): stream-parse lots_pf via ijson to avoid OOM (#315) 2026-05-17 16:37:30 +00:00