[tradein] scraper_kit migration — Group F: широкий рефактор структуры providers/* #2309

Closed
opened 2026-07-03 20:17:40 +00:00 by lekss361 · 1 comment
Owner

Родительский эпик: #2277. Стартовать ПОСЛЕ того как функциональная миграция (Groups A-E)
смерджена и стабильна — рефактор структуры не должен идти одновременно с миграцией
(parity-тесты гоняются против движущейся цели).

Scope (M)

Не просто 1:1-перенос (это уже сделано в A-E) — реальный рефактор scraper_kit/providers/*:

  • Общие базовые классы для повторяющейся логики (retry, error-handling, session-management)
    между avito/cian/yandex/domclick submodules
  • Консистентный naming/layout между provider-модулями
  • Заодно поправить устаревший docstring scraper_adapters.py ("никто не использует" — на деле
    wired в _run_kit_scheduler)

DoD

  • Общие паттерны вынесены в shared base/utils, дублирование между providers снижено
    (замерить: строк до/после)
  • Не ломает существующих consumers (kit scheduler, orchestration) — прогнать полный
    существующий test suite + smoke на проде после деплоя
  • scraper_adapters.py docstring исправлен
  • НЕ трогает legacy app/services/scrapers/*

Риск

Средний — структурный рефактор после того как функциональность уже проверена (A-E), но
затрагивает код уже активно используемый в проде.

Родительский эпик: #2277. Стартовать ПОСЛЕ того как функциональная миграция (Groups A-E) смерджена и стабильна — рефактор структуры не должен идти одновременно с миграцией (parity-тесты гоняются против движущейся цели). ## Scope (M) Не просто 1:1-перенос (это уже сделано в A-E) — реальный рефактор `scraper_kit/providers/*`: - Общие базовые классы для повторяющейся логики (retry, error-handling, session-management) между avito/cian/yandex/domclick submodules - Консистентный naming/layout между provider-модулями - Заодно поправить устаревший docstring `scraper_adapters.py` ("никто не использует" — на деле wired в `_run_kit_scheduler`) ## DoD - [ ] Общие паттерны вынесены в shared base/utils, дублирование между providers снижено (замерить: строк до/после) - [ ] Не ломает существующих consumers (kit scheduler, orchestration) — прогнать полный существующий test suite + smoke на проде после деплоя - [ ] `scraper_adapters.py` docstring исправлен - [ ] НЕ трогает legacy `app/services/scrapers/*` ## Риск Средний — структурный рефактор после того как функциональность уже проверена (A-E), но затрагивает код уже активно используемый в проде.
lekss361 added the
scope/backend
scrapers
tech-debt
tradein
labels 2026-07-03 20:18:00 +00:00
Author
Owner

Родительский epic закрывается — все дочерние Group F4 работы завершены и верифицированы (см. #2352, закрыт только что с деталями верификации). Foundation (scraper_kit/providers/_base.py) существует, все 4 provider-submodule (avito/cian/yandex/domclick) реально импортируют из него, scraper_adapters.py docstring исправлен, consumers (kit scheduler) не сломаны — PR #2375/#2374/#2384/#2372 все смерджены с зелёными test suite.

Родительский epic закрывается — все дочерние Group F4 работы завершены и верифицированы (см. #2352, закрыт только что с деталями верификации). Foundation (`scraper_kit/providers/_base.py`) существует, все 4 provider-submodule (avito/cian/yandex/domclick) реально импортируют из него, `scraper_adapters.py` docstring исправлен, consumers (kit scheduler) не сломаны — PR #2375/#2374/#2384/#2372 все смерджены с зелёными test suite.
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#2309
No description provided.