func configWatcher() { watcher, err := fsnotify.NewWatcher() if err != nil { panic("Failed start app watcher: " + err.Error()) } go func() { for { select { case event := <-watcher.Event: switch filepath.Ext(event.Name) { case ".ini": if checkEventTime(event.Name) { continue } beego.Info(event) if err := Cfg.Reload(); err != nil { beego.Error("Conf Reload: ", err) } if err := i18n.ReloadLangs(); err != nil { beego.Error("Conf Reload: ", err) } reloadConfig() beego.Info("Config Reloaded") case ".json": if checkEventTime(event.Name) { continue } if event.Name == CompressConfPath { settingCompress() beego.Info("Beego Compress Reloaded") } } } } }() if err := watcher.WatchFlags("conf", fsnotify.FSN_MODIFY); err != nil { beego.Error(err) } if err := watcher.WatchFlags("conf/global", fsnotify.FSN_MODIFY); err != nil { beego.Error(err) } }
func configWatcher() { watcher, err := fsnotify.NewWatcher() if err != nil { panic("Failed start app watcher: " + err.Error()) } go func() { for { select { case event := <-watcher.Event: switch filepath.Ext(event.Name) { case ".conf": if checkEventTime(event.Name) { continue } if err = beego.ParseConfig(); err != nil { beego.Error("Conf Reload: ", err) } loadConfig() if err := i18n.ReloadLangs(); err != nil { beego.Error("i18n Reload: ", err) } beego.Info("Config Reloaded") //todo:extend this functionality case ".json": if checkEventTime(event.Name) { continue } if event.Name == CompressConfPath { settingCompress() beego.Info("Beego Compress Reloaded") } } } } }() if err := watcher.WatchFlags("conf", fsnotify.FSN_MODIFY); err != nil { beego.Error(err) } if err := watcher.WatchFlags("conf/", fsnotify.FSN_MODIFY); err != nil { beego.Error(err) } }
func configWatcher() { watcher, err := fsnotify.NewWatcher() if err != nil { panic("Failed start app watcher: " + err.Error()) } go func() { for { select { case event := <-watcher.Event: switch filepath.Ext(event.Name) { case ".ini": beego.Info(event) if err := Cfg_General.Reload(); err != nil { beego.Error("Conf general reload: ", err) } if err := Cfg_MachineSpecific.Reload(); err != nil { beego.Error("Conf machine specific reload: ", err) } if err := i18n.ReloadLangs(); err != nil { beego.Error("Conf Reload: ", err) } reloadConfig() reloadConfig_MachineSpecific() beego.Info("Config Reloaded") case ".json": if event.Name == CompressConfPath { settingCompress() beego.Info("Beego Compress Reloaded") } case ".scss", ".sass": runSassCommand() } } } }() if err := watcher.WatchFlags("conf", fsnotify.FSN_MODIFY); err != nil { beego.Error(err) } }
func InitApp() { initTemplates() initLocales() settingCompress() watcher, err := fsnotify.NewWatcher() if err != nil { panic("Failed start app watcher: " + err.Error()) } go func() { for { select { case event := <-watcher.Event: switch filepath.Ext(event.Name) { case ".ini": beego.Info(event) if err := i18n.ReloadLangs(); err != nil { beego.Error("Conf Reload: ", err) } beego.Info("Config Reloaded") case ".json": if event.Name == CompressConfPath { settingCompress() beego.Info("Beego Compress Reloaded") } } } } }() if err := watcher.WatchFlags("conf", fsnotify.FSN_MODIFY); err != nil { beego.Error(err) } }