当我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()
在关闭处理程序中正确地手动调用。
- 1 回答
- 0 关注
- 108 浏览
添加回答
举报
0/150
提交
取消