Feat: overwrite database settings in conf.ini for slave node.

pull/1198/head
HFO4 3 years ago
parent 7eb8173101
commit d54ca151b2

@ -2,6 +2,7 @@ package cache
import ( import (
"github.com/cloudreve/Cloudreve/v3/pkg/conf" "github.com/cloudreve/Cloudreve/v3/pkg/conf"
"github.com/cloudreve/Cloudreve/v3/pkg/util"
"github.com/gin-gonic/gin" "github.com/gin-gonic/gin"
) )
@ -10,8 +11,6 @@ var Store Driver = NewMemoStore()
// Init 初始化缓存 // Init 初始化缓存
func Init() { func Init() {
//Store = NewRedisStore(10, "tcp", "127.0.0.1:6379", "", "0")
//return
if conf.RedisConfig.Server != "" && gin.Mode() != gin.TestMode { if conf.RedisConfig.Server != "" && gin.Mode() != gin.TestMode {
Store = NewRedisStore( Store = NewRedisStore(
10, 10,
@ -21,6 +20,13 @@ func Init() {
conf.RedisConfig.DB, conf.RedisConfig.DB,
) )
} }
if conf.SystemConfig.Mode == "slave" {
err := Store.Sets(conf.OptionOverwrite, "setting_")
if err != nil {
util.Log().Warning("无法覆盖数据库设置: %s", err)
}
}
} }
// Driver 键值缓存存储容器 // Driver 键值缓存存储容器

@ -131,7 +131,6 @@ func Init(path string) {
"System": SystemConfig, "System": SystemConfig,
"SSL": SSLConfig, "SSL": SSLConfig,
"UnixSocket": UnixConfig, "UnixSocket": UnixConfig,
"Captcha": CaptchaConfig,
"Redis": RedisConfig, "Redis": RedisConfig,
"Thumbnail": ThumbConfig, "Thumbnail": ThumbConfig,
"CORS": CORSConfig, "CORS": CORSConfig,
@ -144,6 +143,11 @@ func Init(path string) {
} }
} }
// 映射数据库配置覆盖
for _, key := range cfg.Section("OptionOverwrite").Keys() {
OptionOverwrite[key.Name()] = key.Value()
}
// 重设log等级 // 重设log等级
if !SystemConfig.Debug { if !SystemConfig.Debug {
util.Level = util.LevelInformational util.Level = util.LevelInformational

@ -1,7 +1,5 @@
package conf package conf
import "github.com/mojocn/base64Captcha"
// RedisConfig Redis服务器配置 // RedisConfig Redis服务器配置
var RedisConfig = &redis{ var RedisConfig = &redis{
Network: "tcp", Network: "tcp",
@ -25,21 +23,6 @@ var SystemConfig = &system{
Listen: ":5212", Listen: ":5212",
} }
// CaptchaConfig 验证码配置
var CaptchaConfig = &captcha{
Height: 60,
Width: 240,
Mode: 3,
ComplexOfNoiseText: base64Captcha.CaptchaComplexLower,
ComplexOfNoiseDot: base64Captcha.CaptchaComplexLower,
IsShowHollowLine: false,
IsShowNoiseDot: false,
IsShowNoiseText: false,
IsShowSlimeLine: false,
IsShowSineLine: false,
CaptchaLen: 6,
}
// CORSConfig 跨域配置 // CORSConfig 跨域配置
var CORSConfig = &cors{ var CORSConfig = &cors{
AllowOrigins: []string{"UNSET"}, AllowOrigins: []string{"UNSET"},
@ -75,3 +58,5 @@ var SSLConfig = &ssl{
var UnixConfig = &unix{ var UnixConfig = &unix{
Listen: "", Listen: "",
} }
var OptionOverwrite = map[string]interface{}{}

Loading…
Cancel
Save