Свип с чужим регионом падает вместо тихого сбора Екатеринбурга #3525
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#3525
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/msk-mo-scrape-schedules"
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?
Что выяснилось
Ветка задумывалась как сид расписаний регулярного сбора по Москве и области. Сид завести нельзя: строка расписания задаёт регион ШТАМПА, а не гео-скоуп прогона.
У avito, cian и yandex скоуп берётся из реестра якорей по слагу города. Там 45 городов, все свердловские, Москвы и подмосковных нет. Неизвестный слаг даёт None, а
run_*_city_sweepмолча откатывается на якоря Екатеринбурга. То есть строкаavito_city_sweep_moscowс регионом 77 собрала бы Екатеринбург и записала его как Москву, со штатными счётчиками и без единой аномалии в логах.У ДомКлика хуже: гео-скоуп зашит в самом провайдере. Адресный идентификатор и идентификатор района Екатеринбурга подставляются в запрос, прогрев контекста идёт на екатеринбургский поддомен, а переданный идентификатор города не используется вообще.
Что сделано вместо сида
Гард
_require_region_scope: регион, отличный от 66, обязан прийти со своими якорями, иначеValueErrorдо первого запроса. Вызван в трёх якорных свипах. У ДомКлика отдельная проверка в начале прогона, она лежит в общем теле, поэтому работает и для kit-native, и для продуктового дубля с куками.Явно переданные якоря чужого региона пропускаются. Режется молчаливый откат на Екатеринбург, а не сама возможность собирать другой регион.
Чего это стоит
Сегодня ни одна строка расписания не задаёт регион, поэтому поведение прода не меняется. Гард снимается сам собой, когда города появятся в реестрах.
Гардом не закрыты полные загрузки avito и cian — они тоже получили параметр региона, но их скоуп я здесь не проверял. Строк расписаний с регионом у них тоже нет.
Что нужно источникам для регулярного сбора 77 и 50
Проверено
Новый файл тестов на гард, 13 случаев, плюс регрессия по паритету планировщика кита, свипу ДомКлика, чекпойнту свипа и прокси-пулу циана — 107 passed. ruff check и format чисты.