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)
	}
}

相关推荐

  1. go更新配置文件

    2024-04-20 18:12:05       14 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-20 18:12:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-20 18:12:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-20 18:12:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-20 18:12:05       20 阅读

热门阅读

  1. 100个Go语言典型错误

    2024-04-20 18:12:05       13 阅读
  2. scilab笔记

    2024-04-20 18:12:05       13 阅读
  3. 图搜索算法详解

    2024-04-20 18:12:05       14 阅读
  4. 基于simulink的配网自动化仿真

    2024-04-20 18:12:05       15 阅读
  5. html用法

    2024-04-20 18:12:05       13 阅读
  6. Nginx 负载均衡配置

    2024-04-20 18:12:05       17 阅读
  7. 09篇 docker命令详解

    2024-04-20 18:12:05       13 阅读