added reload signal
This commit is contained in:
27
main.go
27
main.go
@@ -906,6 +906,9 @@ func main() {
|
|||||||
killSignals := make(chan os.Signal, 1)
|
killSignals := make(chan os.Signal, 1)
|
||||||
signal.Notify(killSignals, syscall.SIGINT, syscall.SIGTERM)
|
signal.Notify(killSignals, syscall.SIGINT, syscall.SIGTERM)
|
||||||
|
|
||||||
|
reloadSignals := make(chan os.Signal, 1)
|
||||||
|
signal.Notify(reloadSignals, syscall.SIGUSR1)
|
||||||
|
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
confStr, err := os.ReadFile(*configFlag)
|
confStr, err := os.ReadFile(*configFlag)
|
||||||
@@ -1062,7 +1065,29 @@ func main() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
<-killSignals
|
killLoop:
|
||||||
|
for {
|
||||||
|
select {
|
||||||
|
case <-killSignals:
|
||||||
|
break killLoop
|
||||||
|
case <-reloadSignals:
|
||||||
|
confStr, err := os.ReadFile(*configFlag)
|
||||||
|
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)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for _, s := range sockets {
|
for _, s := range sockets {
|
||||||
_ = s.Close()
|
_ = s.Close()
|
||||||
|
Reference in New Issue
Block a user