Commit Graph
6 Commits
Author SHA1 Message Date
what 6ccec66a1e fix: WithDefaultTimeout 不再套用到流式输出/双向流
流式输出(Invoke[chan T])返回的 channel 由调用方通过 range 自行决定
消费多久,典型场景是流式聊天回复,可能正常持续几十秒甚至更久。之前
WithDefaultTimeout 会不分场景地把这个全局默认超时套到整个调用生命周期
上(包括流还在正常输出的过程中),导致长时间运行的正常流式响应被腰斩。

改成流式输出/双向流完全不受 WithDefaultTimeout 影响,只认调用方显式传入
的 ctx deadline;需要超时保护的话必须自己 context.WithTimeout。普通调用
和流式输入不受影响,继续吃池子的默认超时。

新增 TestStreamOutIgnoresDefaultTimeout 验证;example/main.go 的
demoTimeout 补充示例4 演示这一行为;README 同步更新。
2026-07-23 14:24:10 +08:00
what 0f4a4ded53 feat: 添加 WithDefaultTimeout 默认超时配置
Invoke 之前完全依赖调用方传入的 ctx 控制超时,池子被占满或 Python 侧
handler 阻塞时,未设置 deadline 的调用会永久阻塞且不报错。新增
WithDefaultTimeout 选项,仅在 ctx 未设置 deadline 时兜底生效,调用方
显式设置的超时优先级更高。

同时补充 example 中的阻塞/超时演示(demoTimeout、demoBlocking)和
pool_test.go 集成测试,覆盖池占满排队、默认超时、显式 deadline 优先级、
流式输出超时后 channel 静默关闭等场景。
2026-07-23 10:37:24 +08:00
what db71a904e0 feat: 添加全局错误日志捕获
- Python 侧 _dispatch 异常时输出完整堆栈到 stderr
- Go 侧 handler 返回 error 时打印日志
- 升级 Python 包版本至 0.1.4
2026-05-20 19:30:52 +08:00
what b390effd8e feat: 添加 Python→Go 全双工回调支持(call_go)
- 新增 WithHandlers 选项,通过反射将 Go 结构体方法暴露给 Python
- 新增 callback/callback_result 消息类型,支持 Python 在处理中回调 Go
- client 侧新增 readResult,内联处理 callback,复用同一连接避免死锁
- Python 侧新增 call_go[T]() 泛型调用,支持 dataclass 自动构造
- 注入 GOBRIDGE_WORKER_ID/WORKER_COUNT 环境变量,支持多 worker 初始化分工
- 新增示例演示 Go→Python→Go→Python 四层全双工链路
- Python 包版本升至 0.1.1
2026-04-14 13:06:50 +08:00
what 308faa95ff refactor: 将 Pool 重构为接口,提取 pool 为具体实现 2026-04-10 16:38:37 +08:00
what a92abca252 first commit 2026-04-10 09:24:28 +08:00