重构代码结构与认证体系,集成异步任务消费者
This commit is contained in:
@@ -1,17 +1,20 @@
|
||||
package globals
|
||||
|
||||
import (
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"platform/pkg/env"
|
||||
"platform/web/queries"
|
||||
|
||||
"gorm.io/driver/postgres"
|
||||
"gorm.io/gorm"
|
||||
"gorm.io/gorm/schema"
|
||||
"log/slog"
|
||||
"platform/pkg/env"
|
||||
)
|
||||
|
||||
var DB *gorm.DB
|
||||
var Conn *sql.DB
|
||||
|
||||
func initOrm() {
|
||||
func initOrm() error {
|
||||
|
||||
// 连接数据库
|
||||
dsn := fmt.Sprintf(
|
||||
@@ -25,27 +28,29 @@ func initOrm() {
|
||||
},
|
||||
})
|
||||
if err != nil {
|
||||
slog.Error("gorm 初始化数据库失败:", slog.Any("err", err))
|
||||
panic(err)
|
||||
return fmt.Errorf("连接数据库失败: %w", err)
|
||||
}
|
||||
|
||||
// 连接池
|
||||
conn, err := db.DB()
|
||||
if err != nil {
|
||||
slog.Error("gorm 初始化数据库失败:", slog.Any("err", err))
|
||||
panic(err)
|
||||
return fmt.Errorf("配置连接池失败: %w", err)
|
||||
}
|
||||
conn.SetMaxIdleConns(10)
|
||||
conn.SetMaxOpenConns(100)
|
||||
|
||||
queries.SetDefault(db)
|
||||
DB = db
|
||||
Conn = conn
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func ExitOrm() error {
|
||||
func stopOrm() error {
|
||||
if DB != nil {
|
||||
conn, err := DB.DB()
|
||||
if err != nil {
|
||||
return err
|
||||
return fmt.Errorf("关闭数据库连接失败: %w", err)
|
||||
}
|
||||
return conn.Close()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user