gendesign/backend/app/workers
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
..
tasks 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
beat_schedule.py fix(#231): re-enable nspd-harvest-stale-quarters beat schedule (Sub-PR D) 2026-05-17 10:37:07 +03:00
celery_app.py feat(backend): sentry-sdk init для FastAPI + Celery (#204 backend) (#207) 2026-05-16 15:09:16 +00:00
lifecycle.py refactor(workers): split celery_app.py god-object into 3 modules (#135) 2026-05-15 00:09:38 +03:00