fix: 数据新鲜度熔断自动恢复 + 阈值10→30秒(允许启动回灌)

This commit is contained in:
dev-worker 2026-03-02 17:41:23 +00:00
parent 8bd5f8fa84
commit 66b094c711

View File

@ -67,7 +67,7 @@ HOLD_TIMEOUT_GRACE_MIN = 10 # 红灯后10分钟人工窗口
HOLD_TIMEOUT_AUTO_CLOSE_MIN = HOLD_TIMEOUT_RED_MIN + HOLD_TIMEOUT_GRACE_MIN # 70分钟 HOLD_TIMEOUT_AUTO_CLOSE_MIN = HOLD_TIMEOUT_RED_MIN + HOLD_TIMEOUT_GRACE_MIN # 70分钟
# 数据新鲜度 # 数据新鲜度
MARKET_DATA_STALE_SEC = 10 MARKET_DATA_STALE_SEC = 30 # 30秒(允许signal_engine启动回灌)
ACCOUNT_UPDATE_STALE_SEC = 20 ACCOUNT_UPDATE_STALE_SEC = 20
CHECK_INTERVAL = 5 # 风控检查间隔(秒) CHECK_INTERVAL = 5 # 风控检查间隔(秒)
@ -451,6 +451,19 @@ def check_auto_resume():
risk_state.circuit_break_reason = None risk_state.circuit_break_reason = None
write_risk_state() write_risk_state()
# 数据新鲜度恢复(熔断原因含"数据异常"且当前数据已恢复新鲜)
if (risk_state.circuit_break_reason
and "数据异常" in risk_state.circuit_break_reason
and "人工" not in risk_state.circuit_break_reason):
# 检查数据是否已恢复
api_gap = now - risk_state.last_api_success
if api_gap < 10:
logger.info("✅ 数据新鲜度恢复,自动恢复交易")
risk_state.status = "normal"
risk_state.block_new_entries = False
risk_state.circuit_break_reason = None
write_risk_state()
# ============ 前端紧急指令处理 ============ # ============ 前端紧急指令处理 ============