2025-08-08 21:43:26 +08:00
|
|
|
package main
|
|
|
|
|
|
2025-08-10 02:10:58 +08:00
|
|
|
import (
|
2025-09-13 20:01:10 +08:00
|
|
|
"log"
|
2025-08-10 02:10:58 +08:00
|
|
|
"strconv"
|
|
|
|
|
"toutoukan/config"
|
2025-08-11 23:10:36 +08:00
|
|
|
"toutoukan/controllers/search"
|
2025-08-12 17:06:48 +08:00
|
|
|
"toutoukan/init/bleveInit"
|
2025-08-10 02:10:58 +08:00
|
|
|
"toutoukan/init/databaseInit"
|
|
|
|
|
"toutoukan/init/redisInit"
|
|
|
|
|
"toutoukan/router"
|
|
|
|
|
)
|
2025-08-08 21:43:26 +08:00
|
|
|
|
|
|
|
|
func main() {
|
2025-08-12 17:06:48 +08:00
|
|
|
bleveInit.InitIndex()
|
2025-08-10 02:10:58 +08:00
|
|
|
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
|
|
|
|
|
}
|
2025-09-13 20:01:10 +08:00
|
|
|
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("数据库连接池已成功关闭")
|
|
|
|
|
}
|
|
|
|
|
}()
|
2025-08-10 02:10:58 +08:00
|
|
|
defer redisInit.RedisClient.Close()
|
2025-08-11 23:10:36 +08:00
|
|
|
defer search.CloseIndex()
|
2025-08-08 21:43:26 +08:00
|
|
|
}
|