Skip to content

Commit 7e03577

Browse files
committed
fix(tradingagents): get_base_url 兜底 DB 异常,避免无 app_settings 表时崩溃
map_state_to_result 现在会拼详情链接 → 调 get_base_url 查 AppSettings。 单测/未初始化 DB 环境下 app_settings 表不存在,未捕获的 OperationalError 会让整个结果映射崩溃 (CI test_tradingagents_5_tier_rating 全挂)。包一层 try/except,读不到就降级为空串(不拼链接)。
1 parent 803136a commit 7e03577

1 file changed

Lines changed: 15 additions & 7 deletions

File tree

src/core/analysis_link.py

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,22 @@
1717

1818

1919
def get_base_url() -> str:
20-
"""从 AppSettings 读取公开访问地址(去尾部斜杠);未配置返回空串。"""
21-
db = SessionLocal()
20+
"""从 AppSettings 读取公开访问地址(去尾部斜杠);未配置 / DB 不可用返回空串。
21+
22+
包一层兜底:单测或 DB 未初始化(app_settings 表不存在)时,读取设置不应让整个
23+
分析结果映射崩掉 —— 读不到就降级为空串(不拼详情链接)。
24+
"""
2225
try:
23-
row = db.query(AppSettings).filter(AppSettings.key == SETTING_KEY).first()
24-
val = (row.value if row and row.value else "").strip()
25-
return val.rstrip("/")
26-
finally:
27-
db.close()
26+
db = SessionLocal()
27+
try:
28+
row = db.query(AppSettings).filter(AppSettings.key == SETTING_KEY).first()
29+
val = (row.value if row and row.value else "").strip()
30+
return val.rstrip("/")
31+
finally:
32+
db.close()
33+
except Exception as e: # noqa: BLE001 — DB 未初始化/表缺失等均降级为空
34+
logger.debug(f"get_base_url 读取失败,降级为空: {e}")
35+
return ""
2836

2937

3038
def analysis_detail_url(symbol: str, date: str, base_url: str = "") -> str:

0 commit comments

Comments
 (0)