优雅关闭的 Go Web 服务器

LSivan ·
试了下 能打印gracefullyShutdown里面的代码,但是这个协程确实立即退出了, 初学者 麻烦问下 ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second) defer cancel() 这行的作用是啥
#2
更多评论
好像也并不能啊,我用如下代码测试: ```go router.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { go func() { for i := 0; i <= 30; i++ { fmt.Printf("[No.%d] pickup!\n", i) time.Sleep(time.Second * 2) } }() w.WriteHeader(http.StatusOK) }) ``` 当我访问 / 的时候启动一个协程去模拟做其他事情,然而当我ctrl+c的时候,也没有运行完就关闭服务了呀。
#1