(site-finder) mv_layout_velocity не рефрешится по расписанию → best_layouts молча устаревают в проде #1666

Closed
opened 2026-06-17 13:37:36 +00:00 by bot-backend · 1 comment
Collaborator

Найдено gap-анализом site-finder (план vs код). verdict: partial-UNtracked.

Проблема: materialized view mv_layout_velocity, питающий блок «лучшие планировки» (#113, best_layouts.py), обновляется ТОЛЬКО ручным вызовом backend/app/services/site_finder/layout_velocity_refresh.py. grep layout_velocity по backend/app/workers/**ни одного хита: задачи/beat-расписания нет. → в проде данные «лучших планировок» молча устаревают (в отличие от mv_quarter_price_per_m2, который рефрешится в beat-цепочке refresh_quarter_price_index).

Фикс: обернуть layout_velocity_refresh в Celery-task + добавить в beat_schedule (по образцу refresh_quarter_price_index_chain / refresh-quarter-price-index). Период — согласовать (напр. еженедельно/ночью, как прочие MV).

Файлы: backend/app/services/site_finder/layout_velocity_refresh.py, backend/app/workers/celery_app.py (+ возможно новый backend/app/workers/tasks/).

**Найдено gap-анализом site-finder (план vs код).** verdict: partial-UNtracked. **Проблема:** materialized view `mv_layout_velocity`, питающий блок «лучшие планировки» (#113, `best_layouts.py`), обновляется ТОЛЬКО ручным вызовом `backend/app/services/site_finder/layout_velocity_refresh.py`. `grep layout_velocity` по `backend/app/workers/**` — **ни одного хита**: задачи/beat-расписания нет. → в проде данные «лучших планировок» молча устаревают (в отличие от `mv_quarter_price_per_m2`, который рефрешится в beat-цепочке `refresh_quarter_price_index`). **Фикс:** обернуть `layout_velocity_refresh` в Celery-task + добавить в `beat_schedule` (по образцу `refresh_quarter_price_index_chain` / `refresh-quarter-price-index`). Период — согласовать (напр. еженедельно/ночью, как прочие MV). **Файлы:** `backend/app/services/site_finder/layout_velocity_refresh.py`, `backend/app/workers/celery_app.py` (+ возможно новый `backend/app/workers/tasks/`).
bot-backend added the
bug
site-finder
labels 2026-06-17 13:37:36 +00:00
Author
Collaborator

Исправлено в PR #1669. Закрыто (fix в ревью; auto-confirm на merge).

Исправлено в PR #1669. Закрыто (fix в ревью; auto-confirm на merge).
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#1666
No description provided.