tradein/cian: фаза houses у cian_city_sweep падает 0/30 с 02.09 — fetch_newbuilding зовётся без proxy_provider → env-фолбэк на мёртвый узел 9 → сайдкар 503 #3394

Closed
opened 2026-09-06 04:28:26 +00:00 by bot-backend · 1 comment
Collaborator

Факт. cian_city_sweep, фаза houses (orchestration/pipeline.py:~3225-3245): до 01.09 включительно houses_enriched = houses_attempted (30/30, 30/30, 40/40), с 02.09 — 14/19 → 25/25 → 17/18 → 30/30 отказов (run 6179, 06.09 03:37–04:13 UTC, status='failed' по phase-honest-status «фаза 'houses' отказала полностью… Причина НЕ установлена»). Причина установлена: Loki за окно — 24× cian-sweep run_id=6179: houses failed house_id=N: Server error '503 Service Unavailable' for url 'http://tradein-browser:3000/fetch'; сайдкар в то же время — tradein-browser[cian]: /fetch 503 — браузер недоступен (proxy may be down) + browser launch failed: proxy unreachable (exc_type=InvalidIP); строк [cian] … override=True нет.

Цепочка. pipeline.py:~3225await fetch_newbuilding(zhk_url, config=config) — без proxy_provider, хотя он есть в области видимости свипа. В providers/cian/newbuilding.py:~241-264 без провайдера фетчер строится без пула → /fetch без proxy в теле → сайдкар берёт SCRAPER_PROXY_URL = выключенный узел 9 (407) → camoufox InvalidIP (#3386). Дата излома (02.09) = дата смерти узла 9. Сайдкар при этом крутит фоновый retry launch'а для cian каждую минуту на том же мёртвом прокси (78 InvalidIP за 3 ч).

Чинить: передать proxy_provider=proxy_provider в вызов из свипа (и проверить остальные вызовы fetch_newbuilding/resolve_* в pipeline на то же упущение); при пустом пуле — caused_by_no_proxy → стоп по образцу #3382/#3389, а не 30 одинаковых отказов.

Приёмка: следующий cian_city_sweep (ежедневно ~03:30 UTC) — houses_enriched > 0, в сайдкаре [cian] … override=True, InvalidIP для cian в окне = 0.

Refs #3386, #3197, #3382, #3389.

**Факт.** `cian_city_sweep`, фаза `houses` (`orchestration/pipeline.py:~3225-3245`): до 01.09 включительно `houses_enriched = houses_attempted` (30/30, 30/30, 40/40), с 02.09 — 14/19 → 25/25 → 17/18 → **30/30 отказов** (run 6179, 06.09 03:37–04:13 UTC, `status='failed'` по phase-honest-status «фаза 'houses' отказала полностью… Причина НЕ установлена»). Причина установлена: Loki за окно — 24× `cian-sweep run_id=6179: houses failed house_id=N: Server error '503 Service Unavailable' for url 'http://tradein-browser:3000/fetch'`; сайдкар в то же время — `tradein-browser[cian]: /fetch 503 — браузер недоступен (proxy may be down)` + `browser launch failed: proxy unreachable (exc_type=InvalidIP)`; строк `[cian] … override=True` нет. **Цепочка.** `pipeline.py:~3225` → `await fetch_newbuilding(zhk_url, config=config)` — без `proxy_provider`, хотя он есть в области видимости свипа. В `providers/cian/newbuilding.py:~241-264` без провайдера фетчер строится без пула → `/fetch` без `proxy` в теле → сайдкар берёт `SCRAPER_PROXY_URL` = выключенный узел 9 (407) → camoufox `InvalidIP` (#3386). Дата излома (02.09) = дата смерти узла 9. Сайдкар при этом крутит фоновый retry launch'а для cian каждую минуту на том же мёртвом прокси (78 `InvalidIP` за 3 ч). **Чинить:** передать `proxy_provider=proxy_provider` в вызов из свипа (и проверить остальные вызовы `fetch_newbuilding`/`resolve_*` в pipeline на то же упущение); при пустом пуле — `caused_by_no_proxy` → стоп по образцу #3382/#3389, а не 30 одинаковых отказов. **Приёмка:** следующий `cian_city_sweep` (ежедневно ~03:30 UTC) — `houses_enriched > 0`, в сайдкаре `[cian] … override=True`, `InvalidIP` для cian в окне = 0. Refs #3386, #3197, #3382, #3389.
Author
Collaborator

PR #3396 смержен и задеплоен (06.09 ~06:03 UTC, BUILD_SHA=e1f86e3; маркер houses СТОП в orchestration/pipeline.py контейнера scraper — есть). Приёмка: следующий cian_city_sweep (07.09 ~03:30 UTC) — houses_enriched > 0 при houses_attempted > 0, в сайдкаре [cian] … override=True по newbuilding-страницам, InvalidIP для cian в окне = 0; при пустом пуле — ровно один houses failed, banned + no_proxy_stop=1 + ban_kind='infra'. Отрицательный контроль — 6179 (30/30, 24× 503).

PR #3396 смержен и задеплоен (06.09 ~06:03 UTC, `BUILD_SHA=e1f86e3`; маркер `houses СТОП` в `orchestration/pipeline.py` контейнера scraper — есть). Приёмка: следующий `cian_city_sweep` (**07.09 ~03:30 UTC**) — `houses_enriched > 0` при `houses_attempted > 0`, в сайдкаре `[cian] … override=True` по newbuilding-страницам, `InvalidIP` для cian в окне = 0; при пустом пуле — ровно один `houses failed`, `banned` + `no_proxy_stop=1` + `ban_kind='infra'`. Отрицательный контроль — 6179 (30/30, 24× 503).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#3394
No description provided.