[tradein] scraper_kit bug: yandex/cian newbuilding providers — BrowserFetcher без endpoint= ломает любого caller'а #2322

Closed
opened 2026-07-03 21:27:51 +00:00 by lekss361 · 0 comments
Owner

Найдено при миграции Group A (#2305, эпик #2277).

Баг

scraper_kit.providers.yandex.newbuilding и scraper_kit.providers.cian.newbuilding оба
конструируют BrowserFetcher(source="...") без endpoint= kwarg — в отличие от SERP-скраппера
и других detail/imv функций, которые корректно прокидывают config.browser_http_endpoint.

Это НЕ проблема caller-side DI — сигнатуры этих функций вообще не выставляют параметр config,
так что вызывающий код бессилен это исправить снаружи. Любой consumer (в т.ч. admin debug-эндпоинт,
kit scheduler, будущие backfill-таски) получит сломанный/крашащийся вызов.

Как нашли

При миграции app/api/v1/admin.py (issue #2305) — scrape_yandex_newbuilding и
scrape_cian_newbuilding НЕ мигрированы на kit намеренно, оставлены на legacy imports именно
из-за этого бага (см. комментарий в admin.py, строки ~20-30).

Кого касается

  • Issue #2310 (Group C, backfill/enrichment tasks) мигрирует newbuilding_enrich_backfill.py и
    yandex_newbuilding_sweep.py — эти файлы, вероятно, дойдут до того же самого бага. Проверить
    ПЕРЕД миграцией, не после.
  • app/api/v1/admin.py's scrape_yandex_newbuilding/scrape_cian_newbuilding эндпоинты остаются
    на legacy до фикса этого issue.

DoD

  • BrowserFetcher(source=..., endpoint=config.browser_http_endpoint) (или эквивалент) в обоих
    providers/yandex/newbuilding.py и providers/cian/newbuilding.py
  • Regression-тест, доказывающий endpoint реально прокидывается (не просто что функция не падает)
  • После фикса — вернуться к #2305's admin.py и домигрировать scrape_yandex_newbuilding/
    scrape_cian_newbuilding (сейчас намеренно оставлены на legacy)
Найдено при миграции Group A (#2305, эпик #2277). ## Баг `scraper_kit.providers.yandex.newbuilding` и `scraper_kit.providers.cian.newbuilding` оба конструируют `BrowserFetcher(source="...")` **без** `endpoint=` kwarg — в отличие от SERP-скраппера и других detail/imv функций, которые корректно прокидывают `config.browser_http_endpoint`. Это НЕ проблема caller-side DI — сигнатуры этих функций вообще не выставляют параметр `config`, так что вызывающий код бессилен это исправить снаружи. Любой consumer (в т.ч. admin debug-эндпоинт, kit scheduler, будущие backfill-таски) получит сломанный/крашащийся вызов. ## Как нашли При миграции `app/api/v1/admin.py` (issue #2305) — `scrape_yandex_newbuilding` и `scrape_cian_newbuilding` НЕ мигрированы на kit намеренно, оставлены на legacy imports именно из-за этого бага (см. комментарий в admin.py, строки ~20-30). ## Кого касается - Issue #2310 (Group C, backfill/enrichment tasks) мигрирует `newbuilding_enrich_backfill.py` и `yandex_newbuilding_sweep.py` — эти файлы, вероятно, дойдут до того же самого бага. Проверить ПЕРЕД миграцией, не после. - `app/api/v1/admin.py`'s `scrape_yandex_newbuilding`/`scrape_cian_newbuilding` эндпоинты остаются на legacy до фикса этого issue. ## DoD - [ ] `BrowserFetcher(source=..., endpoint=config.browser_http_endpoint)` (или эквивалент) в обоих providers/yandex/newbuilding.py и providers/cian/newbuilding.py - [ ] Regression-тест, доказывающий endpoint реально прокидывается (не просто что функция не падает) - [ ] После фикса — вернуться к #2305's admin.py и домигрировать `scrape_yandex_newbuilding`/ `scrape_cian_newbuilding` (сейчас намеренно оставлены на legacy)
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#2322
No description provided.