Procházet zdrojové kódy

cmd/koushin: reload on SIGUSR1

References: https://todo.sr.ht/~sircmpwn/koushin/43
master
Simon Ser před 4 roky
rodič
revize
3d8569d185
V databázi nebyl nalezen žádný známý klíč pro tento podpis ID GPG klíče: FDE7BE0E88F5E48
1 změnil soubory, kde provedl 16 přidání a 1 odebrání
  1. +16
    -1
      cmd/koushin/main.go

+ 16
- 1
cmd/koushin/main.go Zobrazit soubor

@@ -3,6 +3,9 @@ package main
import (
"flag"
"fmt"
"os"
"os/signal"
"syscall"

"git.sr.ht/~emersion/koushin"
"github.com/labstack/echo/v4"
@@ -35,10 +38,22 @@ func main() {
if l, ok := e.Logger.(*log.Logger); ok {
l.SetHeader("${time_rfc3339} ${level}")
}
_, err := koushin.New(e, &options)
s, err := koushin.New(e, &options)
if err != nil {
e.Logger.Fatal(err)
}
e.Use(middleware.Recover())

sigs := make(chan os.Signal, 1)
signal.Notify(sigs, syscall.SIGUSR1)
go func() {
for range sigs {
e.Logger.Printf("Reloading server")
if err := s.Reload(); err != nil {
e.Logger.Errorf("Failed to reload server: %v", err)
}
}
}()

e.Logger.Fatal(e.Start(":1323"))
}

Načítá se…
Zrušit
Uložit