daShangDao_psiServer/database/task.go
2026-06-15 13:47:39 +08:00

49 lines
1.2 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package database
import (
"log"
"psi/config"
"time"
"gorm.io/driver/mysql"
"gorm.io/gorm"
"gorm.io/gorm/logger"
)
// TaskDB 任务数据库长连接(腾讯云 MySQL用于导入后写 t_shop_goods_published
var TaskDB *gorm.DB
func InitTaskDB() {
cfg := config.AppConfig
slowLogger := logger.New(
log.New(log.Writer(), "\r\n", log.LstdFlags),
logger.Config{
SlowThreshold: 200 * time.Millisecond,
LogLevel: logger.Warn,
IgnoreRecordNotFoundError: true,
Colorful: false,
},
)
var err error
TaskDB, err = gorm.Open(mysql.Open(cfg.GetTaskDSN()), &gorm.Config{
Logger: slowLogger,
})
if err != nil {
log.Fatal("任务数据库连接失败:", err)
}
// 配置连接池
sqlDB, err := TaskDB.DB()
if err != nil {
log.Fatal("获取任务数据库连接池失败:", err)
}
sqlDB.SetMaxIdleConns(10) // 最大空闲连接
sqlDB.SetMaxOpenConns(50) // 最大打开连接
sqlDB.SetConnMaxLifetime(10 * time.Minute) // 连接最大存活10分钟
sqlDB.SetConnMaxIdleTime(2 * time.Minute) // 空闲连接2分钟后关闭
log.Println("任务数据库连接成功:", cfg.TaskDatabase.Host, cfg.TaskDatabase.Name)
}