Регулярный сбор ДомКлика по Москве и области #3545
No reviewers
Labels
No labels
Fable 5 ревью
GG-форсайт
admin
analytics
auth
automation
bug
business
chore
ci
compliance
data
data-moat
docs
duplicate
dx
enhancement
feedback/max
generative
needs-discussion
needs-human
observability
pause-bots
performance
priority/p0
priority/p1
priority/p2
priority/p3
scope/backend
scope/db
scope/devops
scope/frontend
scope/qa
scrapers
security
site-finder
stage/1
stage/2
status/blocked
status/done
status/needs-analysis
status/needs-fix
status/qa
status/ready
status/review
status/wip
tech-debt
tradein
ux
week ревью 1
wontfix
ИРД
вторичка
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: lekss361/gendesign#3545
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/domclick-msk-sweeps"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Зачем
Миграция 305 (#3541) завела регулярный сбор 77/50 для avito / cian / yandex и прямо отложила ДомКлик:
Это она. Без ДомКлика свежий срез 77/50 теряет почти четверть массы, а вместе с ней — часть домов, по которым вообще существуют аналоги.
Wildcard заведён на обеих сторонах, и это не дубль
Продуктовый
_job_domclick_city_sweep(app/services/product_handlers.py) перекрывает kit-native ради инъекции куки сессии Sber ID (#3264) — kit-native тело ходит на BFF без кук, потому что kit не имеет права читать БД.Поставить wildcard только в
_default_kit_handlersбыло бы тихой ошибкой: перекрытие осталось бы у ЕКБ (точный ключ) и молча пропало бы у регионов (wildcard), а московская строка упёрлась бы в QRATOR ровно так, как было до #3264. Поэтому запись есть и там, и там; продуктовый ключ по контрактуbuild_registryперекрывает kit-native.Новый тест
test_domclick_region_wildcard_resolves_to_product_handlerпинит именно эту развилку:domclick_city_sweep,domclick_city_sweep_moskvaиdomclick_city_sweep_moskovskaya_oblastобязаны резолвиться на продуктовый job.Гео-скоуп
Задаёт ТОЛЬКО
region_code. Профиль региона (providers/domclick/serp.pyDOMCLICK_GEO_PROFILES) несёт address GUID, страницу прогрева QRATOR, bbox гарда и имя города; профили 77 и 50 заведены и проверены живыми запросами 12-15.09.2026 (#3533).city_idвdefault_paramsнамеренно не задан — он vestigial:run_domclick_city_sweepштампует город из профиля, а не изcity_id. Неизвестныйregion_codeроняет прогон ДО первого запроса — тихого отката на ЕКБ нет (это и был тот баг, ради которого гео-скоуп стал параметром).Расписание (миграция 306)
domclick_city_sweep_moskvadomclick_city_sweep_moskovskaya_oblastpages_per_anchor=100— как у ЕКБ-строки. ДомКлик citywide, anchor-loop у него отсутствует (fetch_around→NotImplementedError), «pages» здесь означает глубину пагинации на комнатный бакет. Москва отдаёт ≈23 690 лотов вторички — глубину надо брать полную, а не свипную.interval_days=3— как у остальных строк 305: корпус живёт 14 суток (LISTINGS_FRESH_DAYS), трёхсуточный такт даёт четырёхкратный запас на пропуски из-за QRATOR-банов.ON CONFLICT (source) DO NOTHING— повторный прогон no-op, не сбрасываетenabled, если строку потом выключили вручную.Известный риск (не блокер этого PR)
Пул прокси истощён: живых 4 из 8 (id 1 — yandex-affinity, 13 и 14 — any, 15 — avito-affinity); id 9-12 выключены с 313-351 подряд неудачами. У ДомКлика affinity нет, он возьмёт «any», то есть будет конкурировать с cian за два узла. Первые прогоны 305 это уже показали: оба cian-прогона умерли за 0.1 с с
no proxy available for provider='cian'. Расширение пула — отдельная задача; строки здесь корректны и начнут собирать, как только узлы появятся.Тесты
tests/test_scraper_kit_scheduler_parity.py tests/test_3264_domclick_sweep_cookies.py tests/test_migration_numbering.py→ 51 passed, 2 skipped.ruff check/ruff formatчисто. Номер миграции сверен сforgejo/mainчерезgit ls-tree -r(последняя — 305).🤖 Generated with Claude Code
https://claude.ai/code/session_01NQb6WeJtagZwZnUsSjDizs