Pārlūkot izejas kodu

feat: 添加连接数配置

double.huang 5 gadi atpakaļ
vecāks
revīzija
f77372f291
1 mainītis faili ar 18 papildinājumiem un 3 dzēšanām
  1. 18 3
      engine/system_init.go

+ 18 - 3
engine/system_init.go

@@ -5,13 +5,28 @@ import (
 	"regexp"
 	"time"
 
+	"git.qianqiusoft.com/qianqiusoft/light-apiengine/config"
 	"git.qianqiusoft.com/qianqiusoft/light-apiengine/logs"
 	"git.qianqiusoft.com/qianqiusoft/light-apiengine/models"
 	"git.qianqiusoft.com/qianqiusoft/light-apiengine/utils"
 	"github.com/xormplus/xorm"
 )
 
+// InitializeWithDefaultValue defined
+func InitializeWithDefaultValue(init int32, dlt int32) {
+	if init == 0 {
+		return dlt
+	}
+	return init
+}
+
 func createDatabase(orm *xorm.Engine) {
+	maxLifeTime := InitializeWithDefaultValue(config.AppConfig.GetInt("max_life_time"), 10)
+	maxIdleConns := InitializeWithDefaultValue(config.AppConfig.GetInt("max_idle_conns"), 10)
+	maxOpenConns := InitializeWithDefaultValue(config.AppConfig.GetInt("max_open_conns"), 30)
+	fmt.Println("maxLifeTime = ", maxLifeTime)
+	fmt.Println("maxIdleConns = ", maxIdleConns)
+	fmt.Println("maxOpenConns = ", maxOpenConns)
 	if orm.DriverName() == "mysql" {
 		dbname := orm.DataSourceName()
 		reg := regexp.MustCompile("(.*)/(.*)(\\?.*)")
@@ -22,9 +37,9 @@ func createDatabase(orm *xorm.Engine) {
 			dbname = strings[2]
 			db, _ := xorm.NewEngine(orm.DriverName(), strings[1]+"/")
 			db.ShowSQL(true)
-			db.SetConnMaxLifetime(10 * time.Minute)
-			db.SetMaxIdleConns(10)
-			db.SetMaxOpenConns(80)
+			db.SetConnMaxLifetime(maxLifeTime * time.Minute)
+			db.SetMaxIdleConns(maxIdleConns)
+			db.SetMaxOpenConns(maxOpenConns)
 			_, err := db.Sql("CREATE DATABASE IF NOT EXISTS `" + dbname + "` default charset utf8 COLLATE utf8_general_ci").Execute()
 			if err != nil {
 				fmt.Println("create database error", err)