gendesign/backend/app
lekss361 4875ef15c3 fix(scrape-objective): stream-parse lots_pf via ijson to avoid OOM
httpx.Response.json() загружает 607 МБ payload в Python list[dict] -> 2-3 ГБ RAM -> host OOM-killer SIGKILL ForkPoolWorker.

Изменения:
- ObjectiveClient._open_stream() / stream_report() — httpx stream=True
- parse_lots_pf_stream() — ijson.items() с batched UPSERT + commit/5 batch
- _save_raw() принимает payload=None для streamed reports
- objective_raw_reports.payload allowed NULL (миграция 79)
- ijson>=3.2.0 добавлен в pyproject.toml, uv.lock обновлён

Glitchtip BACKEND-1H/-1I (release fce48a8) — OOM на live trigger.
2026-05-17 19:33:43 +03:00
..
api feat(22k): object page — full exposure 9 blocks (sales/quartirography/metro/photos/docs/specs/checks) (#310) 2026-05-17 15:56:39 +00:00
core fix(infra): wire GlitchTip DSNs (build-arg + env_file) + reject sentry.io promote 2026-05-16 21:48:28 +03:00
models feat(jobs): centralized job_settings API + DB-driven beat schedule 2026-05-11 15:38:13 +03:00
observability feat(backend): sentry-sdk init для FastAPI + Celery (#204 backend) (#207) 2026-05-16 15:09:16 +00:00
schemas fix(sf-09): iterative cap algorithm + cap_skipped flag + unit tests 2026-05-17 15:21:51 +03:00
scrapers Merge pull request 'feat(#263 sub-A): cad_* overlay schemas + cadastre territorial_zones (ПЗЗ)' (#265) from feat/263-sub-a-cad-nspd-overlay-schemas-and-pzz into main 2026-05-17 07:50:08 +00:00
services fix(scrape-objective): stream-parse lots_pf via ijson to avoid OOM 2026-05-17 19:33:43 +03:00
workers fix(scrape-objective): stream-parse lots_pf via ijson to avoid OOM 2026-05-17 19:33:43 +03:00
__init__.py init 2026-04-25 13:45:19 +03:00
main.py feat(#254): user_custom_pois — backend schema + CRUD + scoring integration 2026-05-17 09:34:33 +03:00