[tradein] scraper_kit Group F2: fix avito build_warmed_session() missing config= (#2330) #2350

Closed
opened 2026-07-03 23:51:01 +00:00 by lekss361 · 1 comment
Owner

Родительский: #2309 (Group F). Реализует фикс из #2330 (уже полностью описан там — DoD, repro, затронутые файлы). Этот issue — исполнительная обёртка под зонтиком Group F.

Scope

  • scraper_kit/providers/avito/detail.pybuild_warmed_session() принимает config: ScraperConfig | None = None, прокидывает в _build_detail_session() аналогично fetch_detail
  • Regression-тест: без config sticky-proxy реально не работает (as today), с config — работает
  • После фикса: вернуться к app/tasks/avito_detail_backfill.py (issue #2310, уже смерджен) и домигрировать build_warmed_session/_AVITO_WARM_SEARCH_URL на kit

Не пересекается по файлам с F1 (#2322 fix) — можно параллельно

Refs #2330, #2309

Родительский: #2309 (Group F). Реализует фикс из #2330 (уже полностью описан там — DoD, repro, затронутые файлы). Этот issue — исполнительная обёртка под зонтиком Group F. ## Scope - `scraper_kit/providers/avito/detail.py` — `build_warmed_session()` принимает `config: ScraperConfig | None = None`, прокидывает в `_build_detail_session()` аналогично `fetch_detail` - Regression-тест: без config sticky-proxy реально не работает (as today), с config — работает - После фикса: вернуться к `app/tasks/avito_detail_backfill.py` (issue #2310, уже смерджен) и домигрировать `build_warmed_session`/`_AVITO_WARM_SEARCH_URL` на kit ## Не пересекается по файлам с F1 (#2322 fix) — можно параллельно Refs #2330, #2309
lekss361 added the
bug
scope/backend
scrapers
tradein
labels 2026-07-04 10:23:48 +00:00
Author
Owner

Закрываю по итогам разбора трекера 16.08.2026

Вердикт: сделано кодом.

И фикс сигнатуры, и домиграция caller'а на kit выполнены, регресс-тест на sticky-proxy присутствует.

Доказательство: tradein-mvp/packages/scraper-kit/src/scraper_kit/providers/avito/detail.py:315 — async def build_warmed_session(config: ScraperConfig | None = None); тест tradein-mvp/backend/tests/scrapers/test_avito_detail_kit_warmed_session_config.py; caller мигрирован: app/tasks/avito_detail_backfill.py:58-60 импортирует build_warmed_session из scraper_kit, комментарий на :76 «#2330 закрыт»

Независимая проверка. Вердикт отдельно проверялся вторым проходом, задачей которого было именно опровергнуть закрытие, а не подтвердить его:

Первый кандидат на опровержение — докстринг в kit (providers/avito/detail.py:322-327) до сих пор утверждает «единственный caller всё ещё импортирует build_warmed_session из legacy-модуля», но это устаревший текст, а не факт: в main app/tasks/avito_detail_backfill.py:58-64 импортирует _AVITO_WARM_SEARCH_URL, build_warmed_session, fetch_detail, research_in_session, save_detail_enrichment из scraper_kit.providers.avito.detail, комментарий :76-83 («#2397 Part D1, #2330 закрыт») объясняет переключение, и ОБА call site'а передают config: :275 build_warmed_session(config=RealScraperConfig()) и :451 build_warmed_session(config=RealScraperConfig()). Сигнатура в kit: async def build_warmed_session(config: ScraperConfig | None = None) (:315). Регресс-тест backend/tests/scrapers/test_avito_detail_kit_warmed_session_config.py — три теста: сигнатура принимает config; с config сессия реально получает {'http': proxy, 'https': proxy}; без config прокси нет (то есть проверяется сам sticky-proxy, а не «не падает»). На проде: inspect.signature(build_warmed_session) в контейнере tradein-backend → (config: 'ScraperConfig | None' = None). Всё три пункта scope закрыты.

Если что-то из перечисленного всё же живо — переоткройте задачу, разбор мог упустить частный случай.

## Закрываю по итогам разбора трекера 16.08.2026 **Вердикт:** сделано кодом. И фикс сигнатуры, и домиграция caller'а на kit выполнены, регресс-тест на sticky-proxy присутствует. **Доказательство:** tradein-mvp/packages/scraper-kit/src/scraper_kit/providers/avito/detail.py:315 — async def build_warmed_session(config: ScraperConfig | None = None); тест tradein-mvp/backend/tests/scrapers/test_avito_detail_kit_warmed_session_config.py; caller мигрирован: app/tasks/avito_detail_backfill.py:58-60 импортирует build_warmed_session из scraper_kit, комментарий на :76 «#2330 закрыт» **Независимая проверка.** Вердикт отдельно проверялся вторым проходом, задачей которого было именно опровергнуть закрытие, а не подтвердить его: > Первый кандидат на опровержение — докстринг в kit (`providers/avito/detail.py:322-327`) до сих пор утверждает «единственный caller всё ещё импортирует build_warmed_session из legacy-модуля», но это устаревший текст, а не факт: в main `app/tasks/avito_detail_backfill.py:58-64` импортирует `_AVITO_WARM_SEARCH_URL, build_warmed_session, fetch_detail, research_in_session, save_detail_enrichment` из `scraper_kit.providers.avito.detail`, комментарий :76-83 («#2397 Part D1, #2330 закрыт») объясняет переключение, и ОБА call site'а передают config: `:275 build_warmed_session(config=RealScraperConfig())` и `:451 build_warmed_session(config=RealScraperConfig())`. Сигнатура в kit: `async def build_warmed_session(config: ScraperConfig | None = None)` (:315). Регресс-тест `backend/tests/scrapers/test_avito_detail_kit_warmed_session_config.py` — три теста: сигнатура принимает config; с config сессия реально получает `{'http': proxy, 'https': proxy}`; без config прокси нет (то есть проверяется сам sticky-proxy, а не «не падает»). На проде: `inspect.signature(build_warmed_session)` в контейнере tradein-backend → `(config: 'ScraperConfig | None' = None)`. Всё три пункта scope закрыты. Если что-то из перечисленного всё же живо — переоткройте задачу, разбор мог упустить частный случай.
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#2350
No description provided.