feat: DB-first architecture with lock-safe writes
- price_monitor: writes live prices to both JSON and mofin.db (holdings + live_prices + portfolio_summary) - mofin_db: added execute_with_retry/commit_with_retry with exponential backoff on 'database is locked' - mofin_db: increased timeout 5s->15s, added PRAGMA busy_timeout=15000 - price_monitor retry loop: fixed break-before-if-ok bug (was not retrying on write failure) - DB connection: WAL mode + retry decorator for all write operations - cash sync: preserves DB authoritative cash (JSON cash not pushed to DB) This is the DB-first version. JSON writes remain for dashboard compatibility. Next step: remove JSON writes entirely for full DB-only architecture.
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
import sqlite3
|
||||
|
||||
for label, path in [("project", '/home/hmo/projects/MoFin/data/mofin.db'), ("real", '/home/hmo/web-dashboard/data/mofin.db')]:
|
||||
db = sqlite3.connect(path)
|
||||
sql = db.execute("SELECT sql FROM sqlite_master WHERE name='todos'").fetchone()
|
||||
print(f"=== {label}: {path} ===")
|
||||
print(sql[0] if sql else "NOT FOUND")
|
||||
db.close()
|
||||
Reference in New Issue
Block a user