#!/usr/bin/env python3 from __future__ import annotations import sys from pathlib import Path ROOT = Path(__file__).resolve().parents[1] if str(ROOT) not in sys.path: sys.path.insert(0, str(ROOT)) from database import TradeDB LAG = """ TIMESTAMPDIFF( SECOND, STR_TO_DATE( CASE WHEN CHAR_LENGTH(tick_time) >= 14 THEN LEFT(tick_time, 14) WHEN CHAR_LENGTH(tick_time) = 6 THEN CONCAT(DATE_FORMAT(recv_ts, '%%Y%%m%%d'), tick_time) ELSE NULL END, '%%Y%%m%%d%%H%%i%%s' ), recv_ts ) """ db = TradeDB() rows = db.conn.execute( "SELECT code, tick_time, tick_time_raw, recv_ts, price, volume, " + LAG + " AS lag_sec FROM ws_ticks WHERE source=%s AND recv_ts >= %s AND " + LAG + " > 5 ORDER BY lag_sec DESC LIMIT 10", ("kiwoom", "2026-08-19 09:00:00"), ).fetchall() print("today kiwoom lag>5") for r in rows: print(dict(r)) # 어제 10:40-11:51 키움 행 (삭제 후 잔존) n = db.conn.execute( "SELECT COUNT(*) AS n FROM ws_ticks WHERE source=%s AND recv_ts >= %s AND recv_ts < %s", ("kiwoom", "2026-08-18 10:40:00", "2026-08-18 11:51:00"), ).fetchone() print("yesterday 10:40-11:51 kiwoom n", dict(n))