Commit Graph

7 Commits

Author SHA1 Message Date
b4e77ce9a8 feat: 为 Python worker 输出添加行前缀,并启用无缓冲模式
- 新增 prefixWriter,对每行输出添加 [python:N] 前缀,便于与 Go 日志区分
- 注入 PYTHONUNBUFFERED=1,确保 print() 实时输出不被管道缓冲
2026-04-14 14:38:24 +08:00
39517dc5fc feat: 通过匿名管道实现父进程死亡检测,替代轮询方案
- worker.go: 为每个子进程创建 death pipe,Go 持有写端
- __init__.py: run() 中监听管道读端 EOF,Go 退出时立即终止子进程
- 解决 Ctrl+C / panic / SIGKILL 等场景下 Python worker 变成孤儿进程的问题
- Python 包版本升至 0.1.2
2026-04-14 13:49:33 +08:00
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
07e9239ac5 refactor: 将装饰器 gobridge 重命名为 expose,并添加 pyproject.toml 2026-04-13 17:13:54 +08:00
308faa95ff refactor: 将 Pool 重构为接口,提取 pool 为具体实现 2026-04-10 16:38:37 +08:00
cca4860df0 docs: 更新 uv pyproject.toml 示例,改为从 git 仓库安装 Python 包 2026-04-10 09:28:05 +08:00
a92abca252 first commit 2026-04-10 09:24:28 +08:00