Aucune description
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package functions
  2. import (
  3. "time"
  4. "github.com/gin-gonic/gin"
  5. "git.x2erp.com/qdy/go-base/types"
  6. "git.x2erp.com/qdy/go-db/factory"
  7. )
  8. // HealthHandler 返回一个处理函数
  9. func HealthHandler(dbFactory *factory.DBFactory, dbType string) gin.HandlerFunc {
  10. return func(c *gin.Context) {
  11. dbFactory.TestConnection(dbType)
  12. err := dbFactory.TestConnection(dbType)
  13. success := err == nil
  14. status := "DOWN"
  15. if success {
  16. status = "UP"
  17. }
  18. c.JSON(200, &types.QueryResult{
  19. Success: success,
  20. Data: map[string]interface{}{
  21. "status": status,
  22. "time": time.Now().Format(time.RFC3339),
  23. "database": dbType,
  24. "databaseStatus": status,
  25. },
  26. Error: func() string {
  27. if err != nil {
  28. return err.Error()
  29. }
  30. return ""
  31. }(),
  32. })
  33. }
  34. }