繁体   English   中英

Golang:gocraft / health package 100%CPU

[英]Golang : gocraft/health package 100% CPU

我使用gocraft / health来检查我的服务的运行状况,并获得每个端点的指标。 但是我有一个问题:启动服务仅5个小时,CPU达到100%,我不知道为什么。 如果不使用“ gocraft / health ”,那么任何人使用此软件包仅需要0,7%的CPU

var stream = health.NewStream()

 func main() {
        // Log to stdout! (can also use WriterSink to write to a log file, Syslog, etc)
  stream.AddSink(&health.WriterSink{os.Stdout})

  http.HandleFunc("/api/getVastPlayer", vastPlayer)
  http.HandleFunc("/static/", func(w http.ResponseWriter, r *http.Request) {
        http.ServeFile(w, r, r.URL.Path[1:])
    })

  log.Println("Listening...")
  panic(http.ListenAndServe(":2001", nil))

  }

;

func vastPlayer(w http.ResponseWriter, r *http.Request) {

    job_1 := stream.NewJob("/api/getVastPlayer")
      //job_2 := stream.NewJob("/api/html/")
    sink := health.NewJsonPollingSink(time.Minute*5, time.Minute*5)
    stream.AddSink(sink)
        //http://creative.health.spoti.io/health
    adr:="127.0.0.1:5001"
    sink.StartServer(adr)
......
......
if bol{
job_1.Complete(health.Success)
}
else{
job_1.Complete(health.ValidationError)
}

我认为这是正确的代码:

var stream = health.NewStream()

 func main() {
        // Log to stdout! (can also use WriterSink to write to a log file, Syslog, etc)
  stream.AddSink(&health.WriterSink{os.Stdout})


   sink := health.NewJsonPollingSink(time.Minute*5, time.Minute*5)
    stream.AddSink(sink)
        //http://creative.health.spoti.io/health
    adr:="127.0.0.1:5001"
    sink.StartServer(adr)

  http.HandleFunc("/api/getVastPlayer", vastPlayer)
  http.HandleFunc("/static/", func(w http.ResponseWriter, r *http.Request) {
        http.ServeFile(w, r, r.URL.Path[1:])
    })

  log.Println("Listening...")
  panic(http.ListenAndServe(":2001", nil))

  }


  func vastPlayer(w http.ResponseWriter, r *http.Request) {

    job_1 := stream.NewJob("/api/getVastPlayer")
      //job_2 := stream.NewJob("/api/html/")


......
......
if bol{
job_1.Complete(health.Success)
}
else{
job_1.Complete(health.ValidationError)
}

}

PS: https : //github.com/gocraft/health#jobs

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM