tune documentation
This commit is contained in:
@@ -50,6 +50,8 @@
|
|||||||
|
|
||||||
FastAPI endpointy pro dashboard a konfiguraci preferují **jedno volání** `select ems.fn_*(…)` vracející **jsonb** (pole řádků, agregace, merge locků), aby v Pythonu nezůstávaly ad-hoc `SELECT`/`JOIN`/`WITH`. Pomocník `app.db_json.fetch_json` vrací `dict`/`list`. Telemetrie a IO zůstávají v Pythonu; čisté agregace a sjednocení TZ patří do SQL. Opakované migrace: `db/routines/R__NNN_fn_*.sql`, `db/views/R__NNN_vw_*.sql` (prefix `NNN` = pořadí závislostí pro Flyway).
|
FastAPI endpointy pro dashboard a konfiguraci preferují **jedno volání** `select ems.fn_*(…)` vracející **jsonb** (pole řádků, agregace, merge locků), aby v Pythonu nezůstávaly ad-hoc `SELECT`/`JOIN`/`WITH`. Pomocník `app.db_json.fetch_json` vrací `dict`/`list`. Telemetrie a IO zůstávají v Pythonu; čisté agregace a sjednocení TZ patří do SQL. Opakované migrace: `db/routines/R__NNN_fn_*.sql`, `db/views/R__NNN_vw_*.sql` (prefix `NNN` = pořadí závislostí pro Flyway).
|
||||||
|
|
||||||
|
**Health, joby po aktivních lokalitách a Loxone po změně režimu** jsou v repeatable [`db/routines/R__073_fn_health_site_jobs_mode_bundle.sql`](../db/routines/R__073_fn_health_site_jobs_mode_bundle.sql): `fn_health_summary`, `fn_health_detailed_db`, `fn_vw_site_directory_active`, `fn_site_economics_yesterday_notification`, `fn_site_mode_loxone_bundle`. FastAPI je rozdělené: [`backend/app/main.py`](../backend/app/main.py) (routery, CORS, WebSockety, health, `POST …/mode`) a [`backend/app/lifespan.py`](../backend/app/lifespan.py) (DB pool, APScheduler joby, telemetrická smyčka).
|
||||||
|
|
||||||
## Komponenty
|
## Komponenty
|
||||||
|
|
||||||
| Komponenta | Technologie | Port | Popis |
|
| Komponenta | Technologie | Port | Popis |
|
||||||
@@ -81,6 +83,7 @@ ems-platform/
|
|||||||
R__005_fn_cop_estimate.sql
|
R__005_fn_cop_estimate.sql
|
||||||
R__011_fn_effective_price.sql
|
R__011_fn_effective_price.sql
|
||||||
R__019_fn_fill_audit_interval.sql
|
R__019_fn_fill_audit_interval.sql
|
||||||
|
R__073_fn_health_site_jobs_mode_bundle.sql
|
||||||
(historicky) R__fn_plan_day.sql – primární plánování je PuLP v Pythonu
|
(historicky) R__fn_plan_day.sql – primární plánování je PuLP v Pythonu
|
||||||
R__fn_create_planning_run.sql
|
R__fn_create_planning_run.sql
|
||||||
views/
|
views/
|
||||||
@@ -96,9 +99,14 @@ ems-platform/
|
|||||||
Dockerfile
|
Dockerfile
|
||||||
requirements.txt
|
requirements.txt
|
||||||
app/
|
app/
|
||||||
main.py ← FastAPI app + scheduler setup
|
main.py ← FastAPI app, routery, health, změna režimu
|
||||||
|
lifespan.py ← lifespan: pool, APScheduler, telemetry task
|
||||||
|
refresh_negative_prices.py ← sdílený hook po importu cen / forecastu
|
||||||
|
routers/
|
||||||
|
sites.py ← /api/v1/sites (ceny, control, forecast)
|
||||||
|
me.py ← /api/v1/me/sites
|
||||||
config.py ← settings z env
|
config.py ← settings z env
|
||||||
database.py ← asyncpg connection pool
|
database.py ← asyncpg (alternativní / legacy helper)
|
||||||
services/
|
services/
|
||||||
telemetry_collector.py
|
telemetry_collector.py
|
||||||
price_importer.py
|
price_importer.py
|
||||||
|
|||||||
Reference in New Issue
Block a user