<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fund-lab.git/tests/FundLab.Api.Tests/ProcessCollectorTests.fs, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>http://git.somhairle.bid/fund-lab.git/atom?h=main</id>
<link rel='self' href='http://git.somhairle.bid/fund-lab.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/fund-lab.git/'/>
<updated>2026-09-20T19:12:09+00:00</updated>
<entry>
<title>fix(api): EOF 阶段到期一律判定超时，恢复的载荷不得转为成功</title>
<updated>2026-09-20T19:12:09+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-20T19:12:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/fund-lab.git/commit/?id=d870d67cd0dfe9d48205f16cb8fbcfc4bd5e0b05'/>
<id>urn:sha1:d870d67cd0dfe9d48205f16cb8fbcfc4bd5e0b05</id>
<content type='text'>
- 退出阶段与 EOF 阶段统一用 expired 标志：EOF 等待按剩余总期限计时，未完成读取且非请求取消即视为期限已过，即便清理宽限期回收了载荷也只返回超时错误
- EOF 等待挂接 deadline+请求 联合取消令牌，请求取消即刻中断等待；清理宽限期（2s）仅用于回收日志，不再影响结果分类
- 预先取消的请求不启动采集器进程
- 回归：孤儿管道持有至总期限→超时+后代死亡；EOF 等待中取消→延迟&lt;5s+后代死亡；预取消→无进程启动；保留成功/stderr 洪泛等原行为
- 验证：聚焦 ProcessCollector 11/11，全量 Domain 19 / Web 17 / API 32 通过（构建 0 警告）；实机挂起采集器 HTTP 503 2.3s 且无进程残留
</content>
</entry>
<entry>
<title>fix(api): 加固行情采集子进程超时、取消与进程组清理并脱敏错误</title>
<updated>2026-09-20T19:03:59+00:00</updated>
<author>
<name>Somhairle H. Marisol</name>
<email>muqiu-han@outlook.com</email>
</author>
<published>2026-09-20T19:03:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.somhairle.bid/fund-lab.git/commit/?id=ea3a5026ad76028562ee4aa6b70c79c94fb17d4b'/>
<id>urn:sha1:ea3a5026ad76028562ee4aa6b70c79c94fb17d4b</id>
<content type='text'>
- MarketDataService: setsid 独立会话启动采集器，硬超时覆盖子进程退出与管道 EOF 两个阶段；超时、取消与异常路径按进程组杀灭（含持有管道的后台子进程），不遗留孤儿进程
- App.ts/Search/RefreshNav 传入 ctx.RequestAborted，客户端断开即取消采集
- 对外错误仅返回统一短消息（503 MARKET_DATA_UNAVAILABLE 等），不泄露路径、stderr 或密钥；stderr 仅记录服务端日志
- 新增 9 项子进程回归（成功/stderr 洪泛/超时杀灭/取消杀灭/孤儿管道恢复/畸形载荷/非零退出/启动失败/缺脚本）与 HTTP 脱敏回归；全文套件 66 通过（Domain 19 / Web 17 / API 30）
- 实机验证：挂起采集器 503 2.4s 无进程残留；真实 akshare 1.18.96 搜索 000001 返回 200，净值刷新持久化 6010 条观测
- README 与 qa/README 补充环境变量、回归命令、G1 过滤断言口径与真实建档标签辨析
</content>
</entry>
</feed>
