Skip to content

Commit

Permalink
implement shutdown for the no-op server (#2542)
Browse files Browse the repository at this point in the history
(cherry picked from commit b4c6065)
  • Loading branch information
slim-bean committed Aug 24, 2020
1 parent 62da8bb commit ee28dbf
Showing 1 changed file with 18 additions and 7 deletions.
25 changes: 18 additions & 7 deletions pkg/promtail/server/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ func (cfg *Config) RegisterFlags(f *flag.FlagSet) {
// New makes a new Server
func New(cfg Config, log log.Logger, tms *targets.TargetManagers) (Server, error) {
if cfg.Disable {
return noopServer{log: log}, nil
return newNoopServer(log), nil
}
wws, err := serverww.New(cfg.Config)
if err != nil {
Expand Down Expand Up @@ -243,13 +243,24 @@ func computeExternalURL(u string, port int) (*url.URL, error) {
return eu, nil
}

type noopServer struct{ log log.Logger }
type noopServer struct {
log log.Logger
sigs chan os.Signal
}

func (s noopServer) Run() error {
sigs := make(chan os.Signal, 1)
signal.Notify(sigs, syscall.SIGINT, syscall.SIGTERM)
sig := <-sigs
func newNoopServer(log log.Logger) *noopServer {
return &noopServer{
log: log,
sigs: make(chan os.Signal, 1),
}
}

func (s *noopServer) Run() error {
signal.Notify(s.sigs, syscall.SIGINT, syscall.SIGTERM)
sig := <-s.sigs
level.Info(s.log).Log("msg", "received shutdown signal", "sig", sig)
return nil
}
func (noopServer) Shutdown() {}
func (s *noopServer) Shutdown() {
s.sigs <- syscall.SIGTERM
}

0 comments on commit ee28dbf

Please sign in to comment.