|
All checks were successful
CI Trade-In / changes (pull_request) Successful in 8s
CI / changes (pull_request) Successful in 7s
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 / frontend-checks (pull_request) Has been skipped
CI Trade-In / backend-tests (pull_request) Successful in 51s
Добавляет sber_freshness_monitor по образцу deals_freshness_monitor: staleness данных СберИндекса теперь видна на MONITOR-частоте, а не тонет в per-estimate warning'ах estimator._load_sber_index_series (#audit-5a). - app/tasks/sber_freshness_monitor.py: чистая evaluate_sber_freshness() (frozen-now, без БД) + check_sber_freshness() (один SELECT max(period_month) вторичного сегмента по региону, #R2-H1 фильтр как в эстиматоре; WARNING при stale, mark_done при алерте — это монитор, не сбой; mark_failed только при пустой таблице). - app/services/product_handlers.py: _job_sber_freshness_monitor + Handler в build_product_handlers (run_in_executor, как deals-монитор). - data/sql/180_seed_sber_freshness_monitor.sql: seed scrape_schedules (enabled, daily 09:00-10:00 UTC, lag_allowance_days=25). - tests/test_sber_freshness_monitor.py: frozen-now (fresh/stale/границы) + FakeDB (fresh/stale/empty/кастомный lag) + свойства миграции + registry. Порог алерта: sber_index_max_age_days (35) + lag_allowance (25) = 60д. +25 — запас на инхерентный лаг публикации источника (1-2 мес), чтобы не шуметь на штатном отставании. Прод 2026-07-12: max=2026-05-01, age=72д > 60 → alert=1. |
||
|---|---|---|
| .. | ||
| __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 | ||
| domclick_detail_backfill.py | ||
| domrf_kapremont_load.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_freshness_monitor.py | ||
| sber_index_pull.py | ||
| yandex_address_backfill.py | ||
| yandex_detail_backfill.py | ||
| yandex_newbuilding_sweep.py | ||
| zhkh_flats_load.py | ||