问题标签 [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.

0 投票
1 回答
2022 浏览

go - Golang 未定义

我正在尝试在 Go 中编译我的应用程序,但出现以下错误:

我不确定我做错了什么。

http.go {第 104 行}:


http.go {第 114 行}:


http.go {第 154 行}:


导入()部分:

setup.go {第 24 行}:

导入()部分:

0 投票
1 回答
736 浏览

testing - 如何在 Go 中查看或测试优雅重启?

我通过gin 的 https://github.com/fvbock/endless提供 HTTP 服务。我想看看与基本 HTTP 服务器的区别。

我已经发送syscall.SIGUSR1了信号:

该应用程序没有退出,但我无法检测到重新启动。

我要做的是在 toml 配置文件更改时为应用程序初始化新配置。

我的代码如下:

当我点击重启端点时,我希望打印出 toml 配置。

0 投票
1 回答
1830 浏览

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 行等。