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.

63 lines
1.5 KiB

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