1
0
forked from ALHP/ALHP.GO

added config reload

This commit is contained in:
2021-11-22 16:50:12 +01:00
parent ce679933f9
commit 592034c314
2 changed files with 27 additions and 2 deletions

27
main.go
View File

@@ -615,6 +615,9 @@ func main() {
killSignals := make(chan os.Signal, 1)
signal.Notify(killSignals, syscall.SIGINT, syscall.SIGTERM)
reloadSignals := make(chan os.Signal, 1)
signal.Notify(reloadSignals, syscall.SIGUSR1)
flag.Parse()
confStr, err := os.ReadFile("config.yaml")
@@ -680,7 +683,29 @@ func main() {
go buildManager.syncWorker()
go buildManager.htmlWorker()
<-killSignals
killLoop:
for {
select {
case <-killSignals:
break killLoop
case <-reloadSignals:
confStr, err := os.ReadFile("config.yaml")
if err != nil {
log.Fatalf("Unable to open config: %v", err)
}
err = yaml.Unmarshal(confStr, &conf)
if err != nil {
log.Fatalf("Unable to parse config: %v", err)
}
lvl, err := log.ParseLevel(conf.Logging.Level)
if err != nil {
log.Fatalf("Failure setting logging level: %v", err)
}
log.SetLevel(lvl)
}
}
buildManager.exit = true
buildManager.buildProcMutex.RLock()