53 lines
1.3 KiB
Go
53 lines
1.3 KiB
Go
package main
|
||
|
||
import (
|
||
"log"
|
||
"strconv"
|
||
"toutoukan/config"
|
||
"toutoukan/controllers/search"
|
||
"toutoukan/init/bleveInit"
|
||
"toutoukan/init/databaseInit"
|
||
"toutoukan/init/redisInit"
|
||
"toutoukan/router"
|
||
|
||
"github.com/sirupsen/logrus"
|
||
)
|
||
|
||
func main() {
|
||
logrus.SetFormatter(&logrus.TextFormatter{
|
||
ForceColors: true,
|
||
FullTimestamp: true, // 启用完整时间戳
|
||
TimestampFormat: "2006-01-02 15:04:05", // 自定义绝对时间格式
|
||
DisableTimestamp: false, // false=显示时间戳,true=去除时间戳
|
||
})
|
||
logrus.Info("------启动-----")
|
||
bleveInit.InitIndex()
|
||
databaseInit.DbInit()
|
||
redisInit.RedisInit()
|
||
if err := config.Goinit(); err != nil {
|
||
panic(err)
|
||
}
|
||
r := router.SetupRouter()
|
||
err := r.Run(":" + strconv.Itoa(config.Conf.Port))
|
||
if err != nil {
|
||
return
|
||
}
|
||
defer func() {
|
||
sqlDB, err := databaseInit.UserDB.DB()
|
||
if err != nil {
|
||
// 处理获取失败的情况
|
||
log.Printf("获取底层数据库连接失败: %v", err)
|
||
return
|
||
}
|
||
|
||
// 2. 调用 Close() 关闭连接池
|
||
if err := sqlDB.Close(); err != nil {
|
||
log.Printf("关闭数据库连接池失败: %v", err)
|
||
} else {
|
||
log.Println("数据库连接池已成功关闭")
|
||
}
|
||
}()
|
||
defer redisInit.RedisClient.Close()
|
||
defer search.CloseIndex()
|
||
}
|