问题标签 [go-graceful]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - Golang 未定义
我正在尝试在 Go 中编译我的应用程序,但出现以下错误:
我不确定我做错了什么。
http.go {第 104 行}:
http.go {第 114 行}:
http.go {第 154 行}:
导入()部分:
setup.go {第 24 行}:
导入()部分:
testing - 如何在 Go 中查看或测试优雅重启?
我通过gin 的 https://github.com/fvbock/endless提供 HTTP 服务。我想看看与基本 HTTP 服务器的区别。
我已经发送syscall.SIGUSR1
了信号:
该应用程序没有退出,但我无法检测到重新启动。
我要做的是在 toml 配置文件更改时为应用程序初始化新配置。
我的代码如下:
当我点击重启端点时,我希望打印出 toml 配置。
http - Golang 优雅的 HTTP 服务器关闭和错误处理
我正在让我的 HTTP 服务器正常关闭。我已经从这里的帖子中获取了提示,并且到目前为止已经设置了这样的代码:
所以,我对这一切现在如何运作有一些疑问:
1)我在上面链接的答案指出“注意:下一行有可能没有时间运行......”用于ListenAndServe()
goroutine 内的错误处理。我怎样才能确保这serverError()
将保证完成?我是否需要对该线程进行某种阻塞,或者我是否需要在它可以调用的主线程上创建一个通道?
2)截至目前,我不确定我是否有办法判断我是否有Server.ShutDown()
,http.Server
或者它是否抛出错误并自行关闭。ListenAndServe()
即使我使用该Server.ShutDown()
方法也会引发错误吗?err != http.ErrServerClosed
这就是为什么在检查ListenAndServe()
错误时使用链接中接受的答案的原因吗?
3)start()
函数(当然)在主线程上运行。我不需要以某种方式阻止该线程,这样程序就不会返回和退出,或者是否ListenAndServe()
会为我处理这个问题?
4)打电话后Server.ShutDown()
我需要做任何事情来关闭http.HandleFunc()
听众吗?
非常感谢您对这些主题中的任何一个提供任何帮助,因此,如果您不能一次触及所有内容,请不要担心:)
编辑:如果有人想看看我最终是如何让这一切正常工作的,你可以查看这个文件,第 225 行等。