From a1329442bdaee62be13732c0c4e0b1ee4491c8a8 Mon Sep 17 00:00:00 2001 From: lookt Date: Tue, 15 Sep 2026 21:43:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=AF=84=E5=88=86=E5=BE=AA=E7=8E=AF?= =?UTF-8?q?=E5=B8=B8=E9=87=8F=E7=BC=BA=E5=A4=B1=20+=20=E5=88=86=E9=92=9F?= =?UTF-8?q?=E7=BA=BF=E6=96=B0=E6=B5=AA=E5=A4=87=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/fetcher/kline_fetcher.py | 14 +++++++++++--- src/web/server.py | 1 + 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/fetcher/kline_fetcher.py b/src/fetcher/kline_fetcher.py index c5d18c8..523ea58 100644 --- a/src/fetcher/kline_fetcher.py +++ b/src/fetcher/kline_fetcher.py @@ -60,9 +60,17 @@ class KlineFetcher: except Exception as e2: raise e2 from e else: - df = ak.stock_zh_a_hist_min_em(symbol=code, period=cfg['ak_period'], - start_date=start + ' 09:30:00', - end_date=end + ' 15:00:00') + try: + df = ak.stock_zh_a_hist_min_em(symbol=code, period=cfg['ak_period'], + start_date=start + ' 09:30:00', + end_date=end + ' 15:00:00') + except Exception as em_err: + # EM 分钟线被限速时回退新浪分钟线(仅 5/15/30/60 分钟) + sym = ('sh' if code[:1] == '6' else 'sz') + code + try: + df = ak.stock_zh_a_minute(symbol=sym, period=cfg['ak_period'], adjust='') + except Exception as e2: + raise e2 from em_err if df is None or df.empty: return pd.DataFrame() df.columns = [str(c).lower() for c in df.columns] diff --git a/src/web/server.py b/src/web/server.py index 79690e3..ee88d4c 100644 --- a/src/web/server.py +++ b/src/web/server.py @@ -22,6 +22,7 @@ from src.analysis.event_impact import EventImpactService # noqa: E402 from src.quant.engine import QuantEngine # noqa: E402 PORT = int(os.environ.get('PORT', '8100')) +SCORING_INTERVAL_S = int(os.environ.get('QUANT_SCORING_INTERVAL_S', '1800')) ROOT = Path(__file__).resolve().parent.parent.parent WEB_DIR = Path(__file__).resolve().parent RECENT_MAX = 500