You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
1.5 KiB

5 months ago
5 months ago
  1. package main
  2. import (
  3. "fmt"
  4. "github.com/gogf/gf/v2/frame/g"
  5. _ "link_homework/internal/packed"
  6. "github.com/gogf/gf/v2/os/gctx"
  7. _ "link_homework/internal/packed"
  8. _ "github.com/gogf/gf/contrib/drivers/mysql/v2"
  9. _ "github.com/gogf/gf/contrib/nosql/redis/v2"
  10. "link_homework/internal/cmd"
  11. _ "link_homework/internal/logic"
  12. )
  13. func main() {
  14. ctx := gctx.GetInitCtx()
  15. //启动日志
  16. g.Log().Info(ctx, "服务启动中")
  17. //检查数据库链接
  18. // 检查默认数据库链接
  19. db := g.DB()
  20. if err := db.PingMaster(); err != nil {
  21. g.Log().Fatal(ctx, "默认数据库链接失败,请检查数据库链接配置")
  22. return
  23. }
  24. g.Log().Info(ctx, "默认数据库链接成功")
  25. // 检查 CMS 数据库链接
  26. cmsDb := g.DB("cms")
  27. if err := cmsDb.PingMaster(); err != nil {
  28. g.Log().Fatal(ctx, "CMS 数据库链接失败,请检查数据库链接配置")
  29. return
  30. }
  31. g.Log().Info(ctx, "CMS 数据库链接成功")
  32. // 检查 Redis 配置并连接
  33. // 如果配置中存在 Redis 配置,初始化 Redis 客户端
  34. // 打印 Redis 配置,确保它加载正确
  35. redisConfig, err := g.Cfg().Get(ctx, "redis.default")
  36. if err != nil {
  37. fmt.Println("获取 Redis 配置失败:", err)
  38. return
  39. }
  40. fmt.Printf("Redis 配置:%v\n", redisConfig)
  41. // 测试 Redis 连接
  42. _, err = g.Redis().Do(ctx, "PING")
  43. if err != nil {
  44. g.Log().Fatal(ctx, fmt.Sprintf("Redis 链接失败: %v", err))
  45. return
  46. }
  47. g.Log().Info(ctx, "Redis 链接成功")
  48. //启动主命令逻辑
  49. cmd.Main.Run(ctx)
  50. //服务启动完成日志
  51. g.Log().Info(ctx, "服务启动完成")
  52. }