mirror of https://github.com/shunfei/cronsun
Move confFile flag from conf to bin
parent
b1e06fadc6
commit
a7a908bd83
|
@ -17,7 +17,8 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
level = flag.Int("l", 0, "log level, -1:debug, 0:info, 1:warn, 2:error")
|
level = flag.Int("l", 0, "log level, -1:debug, 0:info, 1:warn, 2:error")
|
||||||
|
confFile = flag.String("conf", "conf/files/base.json", "config file path")
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@ -32,7 +33,7 @@ func main() {
|
||||||
}
|
}
|
||||||
log.SetLogger(logger.Sugar())
|
log.SetLogger(logger.Sugar())
|
||||||
|
|
||||||
if err := cronsun.Init(); err != nil {
|
if err = cronsun.Init(*confFile); err != nil {
|
||||||
log.Errorf(err.Error())
|
log.Errorf(err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,8 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
level = flag.Int("l", 0, "log level, -1:debug, 0:info, 1:warn, 2:error")
|
level = flag.Int("l", 0, "log level, -1:debug, 0:info, 1:warn, 2:error")
|
||||||
|
confFile = flag.String("conf", "conf/files/base.json", "config file path")
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
@ -33,7 +34,7 @@ func main() {
|
||||||
}
|
}
|
||||||
log.SetLogger(logger.Sugar())
|
log.SetLogger(logger.Sugar())
|
||||||
|
|
||||||
if err := cronsun.Init(); err != nil {
|
if err = cronsun.Init(*confFile); err != nil {
|
||||||
log.Errorf(err.Error())
|
log.Errorf(err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,7 @@ var (
|
||||||
_Uid int
|
_Uid int
|
||||||
)
|
)
|
||||||
|
|
||||||
func Init() (err error) {
|
func Init(baseConfFile string) (err error) {
|
||||||
if initialized {
|
if initialized {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,7 @@ func Init() (err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
// init config
|
// init config
|
||||||
if err = conf.Init(); err != nil {
|
if err = conf.Init(baseConfFile); err != nil {
|
||||||
return fmt.Errorf("Init Config failed: %s", err)
|
return fmt.Errorf("Init Config failed: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
27
conf/conf.go
27
conf/conf.go
|
@ -1,7 +1,6 @@
|
||||||
package conf
|
package conf
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"flag"
|
|
||||||
"path"
|
"path"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
@ -16,9 +15,6 @@ import (
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
confFile = flag.String("conf",
|
|
||||||
"conf/files/base.json", "config file path")
|
|
||||||
|
|
||||||
Config = new(Conf)
|
Config = new(Conf)
|
||||||
initialized bool
|
initialized bool
|
||||||
|
|
||||||
|
@ -26,16 +22,15 @@ var (
|
||||||
exitChan = make(chan struct{})
|
exitChan = make(chan struct{})
|
||||||
)
|
)
|
||||||
|
|
||||||
func Init() error {
|
func Init(confFile string) error {
|
||||||
if initialized {
|
if initialized {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
flag.Parse()
|
if err := Config.parse(confFile); err != nil {
|
||||||
if err := Config.parse(); err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if err := Config.watch(); err != nil {
|
if err := Config.watch(confFile); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
initialized = true
|
initialized = true
|
||||||
|
@ -124,8 +119,8 @@ func cleanKeyPrefix(p string) string {
|
||||||
return p
|
return p
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Conf) parse() error {
|
func (c *Conf) parse(confFile string) error {
|
||||||
err := utils.LoadExtendConf(*confFile, c)
|
err := utils.LoadExtendConf(confFile, c)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -168,7 +163,7 @@ func (c *Conf) parse() error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Conf) watch() error {
|
func (c *Conf) watch(confFile string) error {
|
||||||
var err error
|
var err error
|
||||||
watcher, err = fsnotify.NewWatcher()
|
watcher, err = fsnotify.NewWatcher()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -190,7 +185,7 @@ func (c *Conf) watch() error {
|
||||||
timer.Reset(duration)
|
timer.Reset(duration)
|
||||||
case <-timer.C:
|
case <-timer.C:
|
||||||
if update {
|
if update {
|
||||||
c.reload()
|
c.reload(confFile)
|
||||||
event.Emit(event.WAIT, nil)
|
event.Emit(event.WAIT, nil)
|
||||||
update = false
|
update = false
|
||||||
}
|
}
|
||||||
|
@ -201,7 +196,7 @@ func (c *Conf) watch() error {
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
|
|
||||||
return watcher.Add(*confFile)
|
return watcher.Add(confFile)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 重新加载配置项
|
// 重新加载配置项
|
||||||
|
@ -209,9 +204,9 @@ func (c *Conf) watch() error {
|
||||||
// Etcd
|
// Etcd
|
||||||
// Mgo
|
// Mgo
|
||||||
// Web
|
// Web
|
||||||
func (c *Conf) reload() {
|
func (c *Conf) reload(confFile string) {
|
||||||
cf := new(Conf)
|
cf := new(Conf)
|
||||||
if err := cf.parse(); err != nil {
|
if err := cf.parse(confFile); err != nil {
|
||||||
log.Warnf("config file reload err: %s", err.Error())
|
log.Warnf("config file reload err: %s", err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -220,7 +215,7 @@ func (c *Conf) reload() {
|
||||||
cf.Node, cf.Proc, cf.Cmd, cf.Once, cf.Lock, cf.Group, cf.Noticer = c.Node, c.Proc, c.Cmd, c.Once, c.Lock, c.Group, c.Noticer
|
cf.Node, cf.Proc, cf.Cmd, cf.Once, cf.Lock, cf.Group, cf.Noticer = c.Node, c.Proc, c.Cmd, c.Once, c.Lock, c.Group, c.Noticer
|
||||||
|
|
||||||
*c = *cf
|
*c = *cf
|
||||||
log.Infof("config file[%s] reload success", *confFile)
|
log.Infof("config file[%s] reload success", confFile)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue