Skip to content

Commit

Permalink
if the web server start failed, exit the EaseProbe (megaease#90)
Browse files Browse the repository at this point in the history
  • Loading branch information
haoel committed May 16, 2022
1 parent a0673b7 commit 19c8ed6
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 23 deletions.
6 changes: 4 additions & 2 deletions cmd/easeprobe/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,9 @@ func main() {
log.Infoln("Dry Notification Mode...")
}

// Start the HTTP Server
web.Server()

// Probers
probers := c.AllProbers()

Expand Down Expand Up @@ -107,9 +110,8 @@ func main() {
// Start the Event Watching
go watchEvent(notifyChan, notifies, doneWatch)

// Start the HTTP Server
// Set probers into web server
web.SetProbers(probers)
web.Server()

// Set the Cron Job for SLA Report
if conf.Get().Settings.SLAReport.Schedule != conf.None {
Expand Down
49 changes: 28 additions & 21 deletions web/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -86,34 +86,41 @@ func Server() {
log.Debugf("[Web] Auto refresh interval time: %s", interval)
}

// Start the http server
go func() {
r := chi.NewRouter()
// Prepare the router
r := chi.NewRouter()

filename := c.Settings.HTTPServer.AccessLog.File
if len(filename) > 0 {
log.Infof("[Web] Access Log output file: %s", filename)
logger := c.Settings.HTTPServer.AccessLog.Logger
r.Use(NewStructuredLogger(logger))
}

filename := c.Settings.HTTPServer.AccessLog.File
if len(filename) > 0 {
log.Infof("[Web] Access Log output file: %s", filename)
logger := c.Settings.HTTPServer.AccessLog.Logger
r.Use(NewStructuredLogger(logger))
}
r.Use(middleware.RealIP)
r.Use(middleware.Logger)
r.Use(middleware.Recoverer)
r.Use(middleware.RedirectSlashes)
r.Use(middleware.StripSlashes)

r.Use(middleware.RealIP)
r.Use(middleware.Logger)
r.Use(middleware.Recoverer)
r.Use(middleware.RedirectSlashes)
r.Use(middleware.StripSlashes)
r.Get("/", slaHTML)

r.Get("/", slaHTML)
r.Route("/api/v1", func(r chi.Router) {
r.Get("/sla", slaJSON)
})

r.Route("/api/v1", func(r chi.Router) {
r.Get("/sla", slaJSON)
})
r.NotFound(slaHTML)

r.NotFound(slaHTML)
server, err := net.Listen("tcp", host+":"+port)
if err != nil {
log.Fatalf("[Web] Failed to start the http server: %s", err)
}
log.Infof("[Web] HTTP server is listening on %s:%s", host, port)

log.Infof("[Web] HTTP server is listening on %s:%s", host, port)
if err := http.ListenAndServe(host+":"+port, r); err != nil {
// Start the http server
go func() {
if err := http.Serve(server, r); err != nil {
log.Errorf("[Web] HTTP server error: %s", err)
}
}()

}

0 comments on commit 19c8ed6

Please sign in to comment.