This commit is contained in:
Thigazhezhilan J 2026-04-05 17:23:48 +05:30
parent 6147a2e3e5
commit d5fa17b30d

View File

@ -711,21 +711,25 @@ def get_strategy_status(user_id: str):
run_id = running_run_id or get_active_run_id(user_id) run_id = running_run_id or get_active_run_id(user_id)
cfg = _load_config(user_id, run_id) if run_id else {} cfg = _load_config(user_id, run_id) if run_id else {}
default_status = "RUNNING" if running_run_id else ("STOPPED" if run_id else "IDLE") default_status = "RUNNING" if running_run_id else ("STOPPED" if run_id else "IDLE")
engine_row = None
with db_connection() as conn: with db_connection() as conn:
with conn.cursor() as cur: with conn.cursor() as cur:
cur.execute( cur.execute(
"SELECT last_updated FROM engine_status WHERE user_id = %s AND run_id = %s", "SELECT status, last_updated FROM engine_status WHERE user_id = %s AND run_id = %s",
(user_id, run_id), (user_id, run_id),
) )
row = cur.fetchone() engine_row = cur.fetchone()
if not row: if not engine_row:
status = {"status": default_status, "last_updated": None} status = {"status": default_status, "last_updated": None}
else: else:
status = { status = {
"status": default_status, "status": default_status,
"last_updated": _format_local_ts(row[0]), "last_updated": _format_local_ts(engine_row[1]),
} }
status["run_id"] = run_id status["run_id"] = run_id
engine_state = str((engine_row or [None])[0] or "").strip().upper()
if running_run_id and engine_state in {"STOPPED", "ERROR"}:
status["status"] = "STOPPED"
sip_frequency = cfg.get("sip_frequency") sip_frequency = cfg.get("sip_frequency")
if not isinstance(sip_frequency, dict): if not isinstance(sip_frequency, dict):
frequency = cfg.get("frequency") frequency = cfg.get("frequency")