|
All checks were successful
CI Trade-In / changes (pull_request) Successful in 7s
CI / changes (pull_request) Successful in 8s
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 1m38s
Живой прод-замер показал, что исходная постановка issue (avito 47% NULL lat) уже почти закрыта побочно: dedup-миграции 159-167 сократили active avito-set с 30k до 9.2k, nightly geocode_missing_listings крутится с PR #1549 — текущий NULL lat = 4.3% (393/9181), не 47%. Реальная находка: точный street+house геокодер против локального ekb_geoportal_buildings (#1841, backfill_listings_coords_geoportal.py) существовал, но был manual-only script, ни разу не запускавшийся recurring. Подключил его в in-app scheduler по паттерну cadastral_geo_match — run-lifecycle wrapper, dispatch, kit-registry entry (обязательно для scraper_kit strangler-migration completeness), seed-миграция на окно 05:00-06:00 UTC (до geocode_missing_listings 06:00-09:00 — точный house-level матч забирает адрес раньше грубого Nominatim-геокода). Dedup-на-ингесте (вторая половина исходного DoD) — отдельный follow-up, out of scope здесь. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| asking_to_sold_ratio.py | ||
| avito_detail_backfill.py | ||
| backfill_listings_coords_geoportal.py | ||
| cadastral_geo_match.py | ||
| cian_history_backfill.py | ||
| deactivate_stale_avito.py | ||
| deals_freshness_monitor.py | ||
| ekb_geoportal_ingest.py | ||
| gar_flats_load.py | ||
| geocode_missing.py | ||
| listing_source_snapshot.py | ||
| newbuilding_enrich_backfill.py | ||
| osm_poi_ekb_refresh.py | ||
| refresh_search_matview.py | ||
| rosreestr_quarter_poll.py | ||
| sber_index_pull.py | ||
| yandex_address_backfill.py | ||
| yandex_detail_backfill.py | ||
| yandex_newbuilding_sweep.py | ||
| zhkh_flats_load.py | ||