gendesign/backend/app
lekss361 cca7dcd029
Some checks failed
CI / backend (pull_request) Failing after 46s
CI / frontend (pull_request) Successful in 1m44s
fix(beat): cleanup dead-code from prior fallback distinguishing — align with reality
Review-bot PR #520 SHA dc1cd94 нашёл medium discrepancy: `get_all` НЕ raises
на DB unreachable — оно catches Exception и возвращает _DEFAULTS (4 synthetic
rows, scrape_kn + objective_sync enabled). Значит `except` блок в
build_beat_schedule и `rows_seen == 0` branch — dead code, никогда не fires.

Primary fix всё равно работает (operator-disable создаёт реальные rows c
enabled=false → loop их skip'ает → schedule={} → respect). Но контракт в
docstring ("strict, raises on failure") был fiction.

Cleanup (Option A из review):
- Убрана try/except в build_beat_schedule (dead — get_all не raises)
- Убрана rows_seen == 0 branch (dead — get_all всегда returns >=4 rows из _DEFAULTS)
- Сигнатура `_build_beat_schedule_from_db` обратно `-> dict` (не tuple)
- Docstring переписан под реальное поведение: schedule пуст ТОЛЬКО при
  operator-initiated disable; DB-unreachable case замаскирован под _DEFAULTS
  (синонимично env-fallback по итогу: scrape_kn + objective_sync с дефолтным cron)

Net behavior identical для всех 4 сценариев (operator-disable, normal-config,
DB-unreachable, fresh-install) — но код теперь честный.
2026-05-24 16:10:48 +03:00
..
api fix(parcels): _parse_floors handle int (post-migration #169) (#176) 2026-05-15 15:08:16 +03:00
core refactor(admin): extract _check_token into shared AdminTokenAuth dep (#133) 2026-05-14 23:45:44 +03:00
models feat(jobs): centralized job_settings API + DB-driven beat schedule 2026-05-11 15:38:13 +03:00
schemas fix(cadastre): NSPD response parse — properties.category + top-level meta (#168) (#177) 2026-05-15 15:40:01 +03:00
scrapers feat(cadastre): per-category NSPD snapshot — Phase 1.5 (ZOUIT/ENK) (#180) 2026-05-15 16:53:49 +03:00
services perf(cadastre): freshness skip + grid-walk heartbeat + log noise reduction (#187) 2026-05-15 23:02:37 +03:00
workers fix(beat): cleanup dead-code from prior fallback distinguishing — align with reality 2026-05-24 16:10:48 +03:00
__init__.py init 2026-04-25 13:45:19 +03:00
main.py feat(cadastre): bulk_harvest worker + grid-walker + admin API (#168 PR3/5) (#171) 2026-05-15 13:31:32 +03:00