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 |
|