소스 검색

api: health check returns 503 if db is failing

ref #3302
Daniel Lee 8 년 전
부모
커밋
4a35126bf6
1개의 변경된 파일5개의 추가작업 그리고 3개의 파일을 삭제
  1. 5 3
      pkg/api/http_server.go

+ 5 - 3
pkg/api/http_server.go

@@ -189,11 +189,13 @@ func (hs *HttpServer) healthHandler(ctx *macaron.Context) {
 
 	if err := bus.Dispatch(&models.GetDBHealthQuery{}); err != nil {
 		data.Set("database", "failing")
+		ctx.Resp.Header().Set("Content-Type", "application/json; charset=UTF-8")
+		ctx.Resp.WriteHeader(503)
+	} else {
+		ctx.Resp.Header().Set("Content-Type", "application/json; charset=UTF-8")
+		ctx.Resp.WriteHeader(200)
 	}
 
-	ctx.Resp.Header().Set("Content-Type", "application/json; charset=UTF-8")
-	ctx.Resp.WriteHeader(200)
-
 	dataBytes, _ := data.EncodePretty()
 	ctx.Resp.Write(dataBytes)
 }