errgroup 的超时检测通常是一种事后得到结果的方式。
errgroup本身并不直接支持超时控制,而是依赖于与之关联的context.Context来实现超时和取消功能。
当context超时时,它会关闭Done通道,这将通知errgroup中的协程。
errgroup的Wait方法在检查到context的错误(比如超时)时,会返回这个错误,而不是立即停止所有协程的执行。
这意味着,如果一个任务在超时后仍在执行,它可能会继续完成,直到它自己的或其他阻塞操作结束。
因此,超时信息是通过Wait返回的错误来得知的,而任务的实际停止可能发生在稍后的时间点,这取决于任务的具体实现。
Link:https://www.cnblogs.com/farwish/p/18221078