【发布时间】:2019-10-28 09:27:14
【问题描述】:
我之前写过一篇关于在 Go 中通过优雅关闭创建网络服务器的博客。
https://marcofranssen.nl/go-webserver-with-gracefull-shutdown/#TLDR
此解决方案完美运行,但是对于更大的项目,我想进一步构建代码。
我已经按照以下要点重构了这段代码。
https://gist.github.com/marcofranssen/699c1aa97c8a33ab20b5eccada275b08
由于某种原因,srv.ListenAndServe() 的行似乎没有被执行,而优雅的关闭仍然像以前一样在 go 例程中运行。
对我来说,代码看起来相同,只是重构为单独的文件并添加了一个 Start 函数。
谁能解释一下为什么它直到我发出中断信号才执行,导致 http 服务器立即启动和关闭?
【问题讨论】:
-
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须在问题本身中包含所需的行为、特定问题或错误以及重现它所需的最短代码 .