fix(data): bs_eod挂死根治——login/logout纳入_with_timeout保护伞+中文系统运行判定三词修正。①根因(08-20 19:26实锤,日志形态逐字吻合):bs.login()打印success后仍有后续往返,baostock recv不遵守socket default timeout,主线程卡死在login内部recv(50min+零输出,连60s超时err都没有);fetch早已套_with_timeout但login/logout是裸调——relogin/login_once全部纳入(login60s/logout30s),超时按登录失败处理走既有重试链;②bs_fundamentals._is_running_text:中文系统实际输出「正在运行」不含连续子串「运行中」,原两词判定在中文VPS恒False=守卫恒fail-open(当晚若不禁用bs-fund将真撞车);三词都认+回归钉测试;③check_task_running.py通用探针(修复版)替换VPS上带同bug的check_bs_eod.py;+4测试(登录超时返False/relogin全程超时不raise/login与logout必经保护伞契约/正在运行判定) [vps]
CI/CD / test (push) Successful in 11s
CI/CD / nas-deploy (push) Successful in 28s
CI/CD / nas-verify (push) Successful in 10s

This commit is contained in:
2026-08-20 20:04:51 +08:00
parent d4a1305714
commit f28f9cf308
5 changed files with 66 additions and 5 deletions
@@ -221,6 +221,9 @@ def test_reports_skip_non_sunday_and_second_sunday(tmp_out, small_stocks,
def test_is_running_text_variants():
assert bf._is_running_text("Status: Running") is True
assert bf._is_running_text("状态: 运行中") is True
# 2026-08-20 实锤回归钉: 中文系统实际输出「正在运行」, 不含连续子串「运行中」
# —— 两词判定恒 False 曾致守卫 fail-open(且当晚 check 探针误报任务已退出)
assert bf._is_running_text("状态: 正在运行") is True
assert bf._is_running_text("Status: Ready") is False
assert bf._is_running_text("模式: 就绪") is False