refactor(tradein/tasks): avito_detail_backfill build_warmed_session на kit + config= (#2397 Part D1, #2330) #2410

Merged
lekss361 merged 1 commit from refactor/tradein-partD1-avito-detail-backfill-kit into main 2026-07-04 12:29:18 +00:00
Owner

Summary

Umbrella #2397 Part D1 (эпик #2277). Мигрирует последние legacy-импорты avito_detail_backfill.py (_AVITO_WARM_SEARCH_URL, build_warmed_session) с app.services.scrapers.avito_detail на scraper_kit.providers.avito.detail. Разблокировано #2330 (closed) — kit build_warmed_session теперь принимает config=. Остальной файл (fetch_detail/save_detail_enrichment) уже был на kit.

Изменения

  • Импорт _AVITO_WARM_SEARCH_URL/build_warmed_session → kit; удалён legacy-блок + стейл-комментарий («#2310 remains legacy»).
  • config=RealScraperConfig() добавлен в ДВА call-site (не один): setup (~стр 173) + периодический re-warm внутри цикла (~стр 300). Второй — тот же silent-footgun класс: без config= sticky-proxy тихо терялся бы на каждом re-warm после первого батча (prod-дефолт avito_detail_backfill_use_curl=True). Zero-crash footgun, поэтому важно.
  • Regression-тест test_backfill_build_warmed_session_receives_config: патчит build_warmed_session, гоняет use_curl=True путь, ассертит вызов с non-None config (isinstance RealScraperConfig). Ловит именно caller-side пропуск config.

Test plan

  • tests/tasks/test_avito_detail_backfill.py: 15 passed (14 + 1 новый).
  • Full suite: 2812 passed, 6 skipped, 1 failed (#2208 flake, unrelated).
  • Import-sanity import app.main; import app.tasks.avito_detail_backfill → OK.
  • ruff check clean; grep — 0 legacy avito_detail импортов в файле.

Refs #2397, #2277, #2330

## Summary Umbrella #2397 **Part D1** (эпик #2277). Мигрирует последние legacy-импорты `avito_detail_backfill.py` (`_AVITO_WARM_SEARCH_URL`, `build_warmed_session`) с `app.services.scrapers.avito_detail` на `scraper_kit.providers.avito.detail`. Разблокировано #2330 (closed) — kit `build_warmed_session` теперь принимает `config=`. Остальной файл (`fetch_detail`/`save_detail_enrichment`) уже был на kit. ## Изменения - Импорт `_AVITO_WARM_SEARCH_URL`/`build_warmed_session` → kit; удалён legacy-блок + стейл-комментарий («#2310 remains legacy»). - **`config=RealScraperConfig()` добавлен в ДВА call-site** (не один): setup (~стр 173) + периодический re-warm внутри цикла (~стр 300). Второй — тот же silent-footgun класс: без `config=` sticky-proxy тихо терялся бы на каждом re-warm после первого батча (prod-дефолт `avito_detail_backfill_use_curl=True`). Zero-crash footgun, поэтому важно. - Regression-тест `test_backfill_build_warmed_session_receives_config`: патчит `build_warmed_session`, гоняет `use_curl=True` путь, ассертит вызов с non-None `config` (isinstance `RealScraperConfig`). Ловит именно caller-side пропуск config. ## Test plan - [x] `tests/tasks/test_avito_detail_backfill.py`: 15 passed (14 + 1 новый). - [x] Full suite: 2812 passed, 6 skipped, 1 failed (#2208 flake, unrelated). - [x] Import-sanity `import app.main; import app.tasks.avito_detail_backfill` → OK. - [x] `ruff check` clean; grep — 0 legacy `avito_detail` импортов в файле. Refs #2397, #2277, #2330
lekss361 added 1 commit 2026-07-04 12:16:47 +00:00
refactor(tradein/tasks): avito_detail_backfill build_warmed_session на kit + config= (#2397 Part D1, #2330)
All checks were successful
CI Trade-In / changes (pull_request) Successful in 7s
CI / changes (pull_request) Successful in 7s
CI Trade-In / frontend-checks (pull_request) Has been skipped
CI / backend-tests (pull_request) Has been skipped
CI / frontend-tests (pull_request) Has been skipped
CI / openapi-codegen-check (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 58s
36c451e155
lekss361 merged commit c8343c8f3d into main 2026-07-04 12:29:18 +00:00
lekss361 deleted branch refactor/tradein-partD1-avito-detail-backfill-kit 2026-07-04 12:29:19 +00:00
Sign in to join this conversation.
No reviewers
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#2410
No description provided.