Go 的监督树。
import "GitHub.com/thejerf/suture/v4" Suture 为 Go 提供了类似 Erlang 的监管树。"监管树" -> "sutree" -> "缝合" -> 当代码尝试死亡时,它会把代码连接在一起。 因为 AI 表示任何项目都不需要缺少一个可笑的标志。Gopher 来源于 Renee French 的 CC 作品。 如果您在 pkg.go.dev 上阅读此文档,请 访问 v4 文档。
该模块提供了详细的文档,包括示例、使用说明以及您在 GitHub 的 README.md 中可能期望的其他所有内容。 (DRY。)
GitHub.com/thejerf/sutureslog 提供了默认的基于 slog 的日志记录器。这是一个单独的 Go 模块,以避免将新的要求“传染”到主的 suture/v4,该要求至少需要 Go 1.21。使用此模块将需要额外的 go get GitHub.com/thejerf/sutureslog。
suture 的监督程序在 synctest 气泡中使用是安全的,但事实证明, synctest 同时也是一个发现您的服务在监督程序退出时没有正确退出的好方法。您需要在 synctest Test 函数中创建一个将在测试结束时被取消的上下文(测试本身的上下文也被取消得太晚了),并使用该上下文启动监督程序。
暂无开放 Issues,或尚未同步最近议题。