Skip to content

995933447/confloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

confloader

简单易用的配置加载器 使用示例:

import (
	"os"
	"os/signal"
	"syscall"
	"testing"
	"time"
	"github.com/995933447/confloader"
)

func TestLoader(t *testing.T) {
	type conf struct{
		Name string
		Desc string
	}
	var (
		c conf
		errCh = make(chan error)
		sc = make(chan os.Signal)
	)
	signal.Notify(sc, syscall.SIGINT)
	loader := NewLoader("./test_json.json", time.Second  /* 定时更新配置间隔 */, &c)
	go func() {
		tk := time.Tick(time.Second)
		for {
			select {
			case _ = <- tk:
				t.Logf("c:%+v", c)
			case err := <- errCh:
				t.Error(err)
			case <-sc:
				t.Log("cancel loop")
				// 推出循环阻塞
				loader.CancelWatch()
			}
		}
	}()

	// 阻塞定时加载更新配置
	loader.WatchToLoad(errCh)
}

About

简单易用的配置加载器,只是定时观察配置文件更新内存内容

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages