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

package main
import (
"fmt"
"github.com/gogf/gf/v2/frame/g"
_ "link_homework/internal/packed"
"github.com/gogf/gf/v2/os/gctx"
_ "github.com/gogf/gf/contrib/drivers/mysql/v2"
_ "github.com/gogf/gf/contrib/nosql/redis/v2"
"link_homework/internal/cmd"
_ "link_homework/internal/logic"
)
func main() {
ctx := gctx.GetInitCtx()
//启动日志
g.Log().Info(ctx, "服务启动中")
//检查数据库链接
// 检查默认数据库链接
db := g.DB()
if err := db.PingMaster(); err != nil {
g.Log().Fatal(ctx, "默认数据库链接失败,请检查数据库链接配置")
return
}
g.Log().Info(ctx, "默认数据库链接成功")
// 检查 CMS 数据库链接
cmsDb := g.DB("cms")
if err := cmsDb.PingMaster(); err != nil {
g.Log().Fatal(ctx, "CMS 数据库链接失败,请检查数据库链接配置")
return
}
g.Log().Info(ctx, "CMS 数据库链接成功")
// 检查 Redis 配置并连接
// 如果配置中存在 Redis 配置,初始化 Redis 客户端
// 打印 Redis 配置,确保它加载正确
redisConfig, err := g.Cfg().Get(ctx, "redis.default")
if err != nil {
fmt.Println("获取 Redis 配置失败:", err)
return
}
fmt.Printf("Redis 配置:%v\n", redisConfig)
// 测试 Redis 连接
_, err = g.Redis().Do(ctx, "PING")
if err != nil {
g.Log().Fatal(ctx, fmt.Sprintf("Redis 链接失败: %v", err))
return
}
g.Log().Info(ctx, "Redis 链接成功")
//启动主命令逻辑
cmd.Main.Run(ctx)
//服务启动完成日志
g.Log().Info(ctx, "服务启动完成")
}