为了账号安全,请及时绑定邮箱和手机立即绑定

在中断的情况下覆盖 golang 配置文件停止

在中断的情况下覆盖 golang 配置文件停止

Go
慕容708150 2023-06-01 14:05:08
当我kill -SIGINT pid使用我的 Golang 服务时,我在调用 的地方正常关闭profile.Stop,但在我调用它之前我收到了这条消息:profile: caught interrupt, stopping profiles我什至无法调用 profile.Stop 因为它触发得更快,但是 grpc listen 和 couchbase 连接关闭工作正常。无论如何我可以覆盖这个故障配置文件停止吗?
查看完整描述

1 回答

?
阿晨1998

TA贡献2037条经验 获得超6个赞

有一个profile.NoShutdownHook函数控制分析包是否应该挂钩 SIGINT,在其上干净地编写配置文件。

profile.Start()如果您想禁用此行为,您可以使用/传递上述函数作为选项:

profile.Start(profile.NoShutdownHook)

最好通过 deferred 来启动和停止函数内部的分析,例如:

// disable the automatic shutdown hook.
defer profile.Start(profile.NoShutdownHook).Stop()

如果禁用自动关闭挂钩,请确保Stop()在关闭处理程序中正确地手动调用。


查看完整回答
反对 回复 2023-06-01
  • 1 回答
  • 0 关注
  • 108 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信