machine 是借鉴了errgroup的一个golang 并发处理包,errgroup 的使用很简单,但是对于异常的处理只能
包含一次结果,不能知道每次 gorroutine 的执行结果,同时machine也扩展了好多特性
比较适合的场景
- grpc streaming 服务
- websocket 服务
- pubsub 服务
- reverse 代理
- cron 服务
- 自定义数据库以及cache
- elt pipeline
- log 写入
- 代码生成
- 文件系统遍历
说明
分组管理goroutine 的包还是比较多,machine是一个不错的选择
参考资料
https://github.com/autom8ter/machine
https://pkg.go.dev/golang.org/x/sync/errgroup
https://github.com/neilotoole/errgroup