fix: cap mysql connection pool

This commit is contained in:
richjohnrambo
2026-09-27 18:36:00 +08:00
parent 4f69dc302b
commit 5bf68727fa
4 changed files with 40 additions and 9 deletions
+6 -6
View File
@@ -58,7 +58,7 @@ func SetUIDKey(encoded string) error {
}
func Open(cfg config.MySQLConfig) (*Store, error) {
st, err := openDSN(cfg.DSN)
st, err := openDSN(cfg)
if err != nil {
return nil, err
}
@@ -66,13 +66,13 @@ func Open(cfg config.MySQLConfig) (*Store, error) {
return st, nil
}
func openDSN(dsn string) (*Store, error) {
db, err := sqlx.Open("mysql", dsn)
func openDSN(cfg config.MySQLConfig) (*Store, error) {
db, err := sqlx.Open("mysql", cfg.DSN)
if err != nil {
return nil, err
}
db.SetMaxOpenConns(30)
db.SetMaxIdleConns(10)
db.SetMaxOpenConns(cfg.MaxOpenConns)
db.SetMaxIdleConns(cfg.MaxIdleConns)
db.SetConnMaxLifetime(30 * time.Minute)
ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel()
@@ -80,7 +80,7 @@ func openDSN(dsn string) (*Store, error) {
_ = db.Close()
return nil, err
}
return &Store{db: db, dsn: dsn}, nil
return &Store{db: db, dsn: cfg.DSN}, nil
}
func (s *Store) tenant() int64 {