自学内容网 自学内容网

go热更新配置文件

使用go开发的时候是不是大家都遇到过,更改完配置之后需要重新启动自己的服务,会导致短暂的访问不到的效果,今天就给大家分享一个go热更新配置文件的小例子,让你不用停服务的情况也能加最新的配置文件,请看下面代码

func TestExecuteReadConfig(t *testing.T) {
viper.SetConfigName("config01")
viper.SetConfigType("yaml")
viper.AddConfigPath(".")
err := viper.ReadInConfig()
if err != nil {
panic(fmt.Errorf("读取%s", err))
}

//监听配置文件的变化
viper.WatchConfig()
viper.OnConfigChange(func(event fsnotify.Event) {
fmt.Println("Config file changed:", event.Name)
if err := viper.ReadInConfig(); err != nil {
fmt.Printf("error reading config file, %s", err)
return
}
})
for {
number := viper.GetString("goroutine.goroutineNum")
fmt.Println(number)
time.Sleep(time.Second * 3)
}
}

原文地址:https://blog.csdn.net/qq_43022682/article/details/137970310

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!