gendesign/backend/app/workers
lekss361 7eb686bd7d feat(permits): Celery beat monthly + analyze recent_permits (#105 Phase 4+5)
Closes #105 (Phase 3 geocoding — отдельный issue).

Phase 4: 'ekburg-permits-monthly' crontab(0 2 1 * *) → tasks.refresh_all
Phase 5: /analyze returns engineering.recent_permits_in_quarter +
permits_summary (rns/rve counts/area/units, by_developer top-3)

Filter: quarter prefix (3-segment cadastral match). Spatial 500m radius —
после Phase 3 geocoding.

Tests: test_analyze_recent_permits.py (3 mock), comment updates на
inline_weights/market_price (shifted execute ordering).
2026-05-16 15:03:01 +03:00
..
tasks feat(permits): ЕКБ РНС/РВЭ xlsx parser + schema + ETL (#105 PR A) (#211) 2026-05-16 11:41:21 +00:00
__init__.py init 2026-04-25 13:45:19 +03:00
beat_schedule.py feat(permits): Celery beat monthly + analyze recent_permits (#105 Phase 4+5) 2026-05-16 15:03:01 +03:00
celery_app.py feat(permits): ЕКБ РНС/РВЭ xlsx parser + schema + ETL (#105 PR A) (#211) 2026-05-16 11:41:21 +00:00
lifecycle.py refactor(workers): split celery_app.py god-object into 3 modules (#135) 2026-05-15 00:09:38 +03:00