golang
mo.xiaoming
这个作者很懒,什么都没留下…
展开
-
golang备忘录003: 使用waitgroup进行graceful shutdown
errGroup默认情况下应在第一个错误发生时取消所有未完成的操作,但是这不见得是我们所需要的。如果忽略某些错误,让其它操作继续进行是有意义的的话,waitGroup可能是个更好的选择 package main import ( "context" "fmt" "net/http" "os" "os/signal" "sync" "syscall" "time" log "github.com/sirupsen/logrus" ) func main() { log.SetLeve原创 2020-11-07 09:35:28 · 195 阅读 · 0 评论 -
golang备忘录002: cancel/timeout by errGroup
package main // 从多个网络地址获得信息,如果有一个出错或超时,则取消所有未完成的操作 import ( "context" "golang.org/x/sync/errgroup" "io/ioutil" "log" "net/http" "time" ) type query struct { url string // 查询地址 resp string // 正常返回的信息 err error // 错误消息,如果有的话 } func search(ctx原创 2020-10-31 22:42:39 · 330 阅读 · 0 评论