Загрузчик точек интереса берёт регион параметром, а не только Екатеринбург #3524
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#3524
Loading…
Add table
Reference in a new issue
No description provided.
Delete branch "feat/msk-osm-poi"
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?
Проблема
Прямоугольник загрузки был зашит константой
EKB_BBOX, поэтому в реестре точек интереса нет ни одной московской записи, и блок «что рядом» в индексе локации по Москве молчал.Решение
Появился реестр
REGION_BBOXс ключамиekbиmsk, значение по умолчанию вездеekb. Существующее недельное расписание вызывает загрузчик без аргумента и поведения не меняет.Прямоугольник Москвы продублирован явно, а не подтянут кросс-импортом: Site Finder — независимая половина монорепо со своей базой, у trade-in свой реестр регионов. Значение равно продуктовому ядру региона 77, пересчитанному в тот же порядок координат.
Защита от тихой обрезки
Живой пробный запрос показал, что риск реален. В московском ядре 12 181 остановка автобуса — больше, чем все четырнадцать категорий Екатеринбурга вместе, а их 4 850. Один плиточный запрос размером с Екатеринбург по этой категории вернул 504.
Единый безопасный размер плитки заранее не подобрать: плотность по городу неравномерна, а заголовка «это неполный ответ» у Overpass нет. Поэтому плитка, дважды упавшая, режется на четыре четверти и перезапрашивается рекурсивно до глубины три, вместо того чтобы молча потерять данные. Для Екатеринбурга это ровно одна плитка, совпадающая со старым прямоугольником, и рекурсия там не срабатывает никогда.
Имя таблицы
osm_poi_ekbоставлено как есть. Таблицу читают ещё два места вне Site Finder: внешняя таблицаgendesign_osm_poi_ekbи локальное зеркало в trade-in. Переименование потянуло бы миграции обеих половин монорепо ради косметики.Задача обновления зеркала правки не потребовала: там безусловный полный скан без фильтра по прямоугольнику, московские точки подхватятся тем же кодом на ближайшем ежедневном прогоне.
Проверено
pytest tests/test_poi_loader.py— 9 passed, HTTP и паузы замоканы. Более широкий срез — 307 passed, 1 skipped. ruff чист.Сама загрузка Москвы в прод — отдельный шаг,
sync_poi_to_db(region="msk"), запускается после мержа.