Skip to content

feat: baostock 优先的可选开关 - #23

Open
xuyixiao0224 wants to merge 1 commit into
rosemarycox5334-debug:mainfrom
xuyixiao0224:feat/baostock-primary-opt-in
Open

xuyixiao0224 wants to merge 1 commit into
rosemarycox5334-debug:mainfrom
xuyixiao0224:feat/baostock-primary-opt-in

Conversation

@xuyixiao0224

Copy link
Copy Markdown

问题

AkShareSource._fetch_history() 固定先走东方财富接口,失败才回退 baostock。

东财接口在部分网络环境下会被持续风控。此时每次刷新都要先发一次注定失败的请求、等它超时或报错,再回退 baostock。刷新间隔短时这个固定开销很明显,日志里也塞满重复的失败告警。

改动

加一个可选的环境变量开关 PA_AGENT_BAOSTOCK_PRIMARY:

  • 置为 1 / true / yes 时,_fetch_history() 直接先走 baostock
  • baostock 失败仍回退到原有的东财主源,回退路径不变
  • 前置条件是 self._baostock_ok(baostock 已连接成功),未连接时不走这条路

兼容性

不设置这个变量时行为完全不变,默认关闭。

为什么用环境变量而不是设置项

想尽量不侵入现有配置:不动 settings.py 的 schema、不动设置界面、不影响 settings.json 的读写兼容。如果维护者认为这更适合作为正式设置项,我可以改成 GeneralSettings 里的字段并补设置界面。

测试

  • pytest -m "not e2e"
  • ruff check pa_agent tests
  • 实机:
    • 不设变量 → 日志中仍是东财优先
    • 设 PA_AGENT_BAOSTOCK_PRIMARY=1 → 日志中直接走 baostock,K 线正常
    • 设变量且断开 baostock → 回退东财,功能正常

东财接口被持续风控时,_fetch_history 每轮都要先发一次注定失败的请求再回退
baostock,刷新间隔短时开销明显,日志中也堆满重复告警。

新增可选开关 PA_AGENT_BAOSTOCK_PRIMARY,置 1/true/yes 时直接先走 baostock,
失败仍回退原东财主源;前置条件为 self._baostock_ok,未连接时不启用。

默认关闭,不设置该变量时行为完全不变。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant