Golang errgroup
目录
警告
本文最后更新于 2023-03-11,文中内容可能已过时。
介绍
errgroup 是Go语言的一个包,用于管理和协调多个并发任务,当其中任意一个任务出错时,可以及时结束所有任务,并返回错误信息。
运行模式
errgroup 有两种运行模型,开启任务后,如果遇到有 Goroutine 报错
- 一种是继续执行其它任务
- 另一种是取消其它的任务
继续执行其它任务
|
|
取消其它的任务
|
|
问题
- 没有处理 panic。
没有控制并发 goroutine 数量新版本中有SetLimit
控制 goroutine 数量。- 如果内部报错,errgroup 会调用
g.cancel
,如果在外面使用这个返回的 context,会报错。
推荐使用这个。