chore(pipeline): 桥1m超时降级路径加warning打点——分清桥坏vs无数据 [vps] [no-doc]
CI/CD / test (push) Successful in 40s
CI/CD / nas-deploy (push) Successful in 1s
CI/CD / nas-verify (push) Successful in 6s

10-01 二次审计 P2-7 采纳 infra 域意见:不扩捕获面(0928-30 事故所见全部
=TimeoutError 形态, 扩面有真故障吞成静默降级的反向风险), 先做降级发生处
打点, 第二故障形态实证后再议。

Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
2026-10-01 07:51:06 +08:00
parent 65921c5c25
commit f6ea116f10
+8
View File
@@ -9,12 +9,15 @@ BIGQMT_REDIS_PASSWORD——口令运行时读 C:\\redis\\redis.conf,
"""
from __future__ import annotations
import logging
import os
import re
import sqlite3
from datetime import datetime, timedelta
from typing import Any
logger = logging.getLogger(__name__)
_BRIDGE_PYROOT = os.environ.get(
"SANGUO_BRIDGE_PYROOT", r"C:\sanguo_bigqmt\xtquant_bridge")
_VNPY_ROOT = os.environ.get("SANGUO_VNPY_ROOT", r"C:\sanguo_vnpy_v2")
@@ -163,6 +166,11 @@ def make_price_fn():
try:
cache[key] = _minute_closes([code], day)
except TimeoutError:
# 降级可见性(10-01 二次审计 P2-7 采纳 infra 意见):只捕 TimeoutError
# 不扩面;降级发生处打点, 分得清「桥坏」vs「本来没数据」——
# 第二故障形态实证前不扩捕获面(真故障吞成静默降级的反向风险)。
logger.warning("[price-source] 桥1m超时(%s@%s)→降级 no_anchor",
code, day)
cache[key] = {}
return cache[key].get((code, minute))
return fn