notebookvb

This commit is contained in:
Vladimir Buzalka
2026-06-15 18:07:32 +02:00
parent 8142de5216
commit 79216dfbdb
4 changed files with 74 additions and 5 deletions
+8 -5
View File
@@ -12,20 +12,23 @@ from typing import Optional
from mcp.server.fastmcp import FastMCP
sys.path.insert(0, str(Path(__file__).resolve().parent))
from Knihovny.medicus_db import get_medicus_connection
from Knihovny.medicus_db import get_medicus_connection_reconnecting
# Všechny logy MUSÍ jít na stderr — stdout je rezervován pro JSON-RPC
def log(msg: str):
print(msg, file=sys.stderr, flush=True)
# Připojení k Firebirdu
# Připojení k Firebirdu — lazy + auto-reconnect.
# Spojení se naváže až při prvním dotazu a samo se obnoví, když umře
# (uspání notebooku, denní gbak restore na serveru). Proto nepadáme při startu,
# i kdyby DB zrovna nebyla dostupná.
conn = get_medicus_connection_reconnecting()
try:
conn = get_medicus_connection()
conn.cursor().execute("SELECT 1 FROM RDB$DATABASE")
log("✓ Připojeno k Firebirdu (Medicus)")
except Exception as e:
log(f"✗ Chyba připojení k Firebirdu: {e}")
sys.exit(1)
log(f"⚠ Firebird zatím nedostupný, zkusím se připojit při prvním dotazu: {e}")
def rows_to_json(rows, description):