浏览代码

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)
 }