1
0
mirror of https://github.com/astaxie/beego.git synced 2024-11-22 05:10:55 +00:00

Add new config option into provider struct

This commit is contained in:
Phillip Stagnet 2020-08-11 16:09:29 +02:00
parent d1d9df74c7
commit 7267f5e573
No known key found for this signature in database
GPG Key ID: 029E4A7879FBE381
3 changed files with 54 additions and 55 deletions

View File

@ -114,6 +114,9 @@ type Provider struct {
poolsize int poolsize int
password string password string
dbNum int dbNum int
idleTimeout time.Duration
idleCheckFrequency time.Duration
maxRetries int
poollist *redis.Client poollist *redis.Client
} }
@ -149,25 +152,22 @@ func (rp *Provider) SessionInit(maxlifetime int64, savePath string) error {
} else { } else {
rp.dbNum = 0 rp.dbNum = 0
} }
var idleTimeout time.Duration = 0
if len(configs) > 4 { if len(configs) > 4 {
timeout, err := strconv.Atoi(configs[4]) timeout, err := strconv.Atoi(configs[4])
if err == nil && timeout > 0 { if err == nil && timeout > 0 {
idleTimeout = time.Duration(timeout) * time.Second rp.idleTimeout = time.Duration(timeout) * time.Second
} }
} }
var idleCheckFrequency time.Duration = 0
if len(configs) > 5 { if len(configs) > 5 {
checkFrequency, err := strconv.Atoi(configs[5]) checkFrequency, err := strconv.Atoi(configs[5])
if err == nil && checkFrequency > 0 { if err == nil && checkFrequency > 0 {
idleCheckFrequency = time.Duration(checkFrequency) * time.Second rp.idleCheckFrequency = time.Duration(checkFrequency) * time.Second
} }
} }
var maxRetries = 0
if len(configs) > 6 { if len(configs) > 6 {
retries, err := strconv.Atoi(configs[6]) retries, err := strconv.Atoi(configs[6])
if err == nil && retries > 0 { if err == nil && retries > 0 {
maxRetries = retries rp.maxRetries = retries
} }
} }
@ -176,9 +176,9 @@ func (rp *Provider) SessionInit(maxlifetime int64, savePath string) error {
Password: rp.password, Password: rp.password,
PoolSize: rp.poolsize, PoolSize: rp.poolsize,
DB: rp.dbNum, DB: rp.dbNum,
IdleTimeout: idleTimeout, IdleTimeout: rp.idleTimeout,
IdleCheckFrequency: idleCheckFrequency, IdleCheckFrequency: rp.idleCheckFrequency,
MaxRetries: maxRetries, MaxRetries: rp.maxRetries,
}) })
return rp.poollist.Ping().Err() return rp.poollist.Ping().Err()
@ -249,4 +249,3 @@ func (rp *Provider) SessionAll() int {
func init() { func init() {
session.Register("redis", redispder) session.Register("redis", redispder)
} }

View File

@ -112,6 +112,9 @@ type Provider struct {
poolsize int poolsize int
password string password string
dbNum int dbNum int
idleTimeout time.Duration
idleCheckFrequency time.Duration
maxRetries int
poollist *rediss.ClusterClient poollist *rediss.ClusterClient
} }
@ -147,25 +150,22 @@ func (rp *Provider) SessionInit(maxlifetime int64, savePath string) error {
} else { } else {
rp.dbNum = 0 rp.dbNum = 0
} }
var idleTimeout time.Duration = 0
if len(configs) > 4 { if len(configs) > 4 {
timeout, err := strconv.Atoi(configs[4]) timeout, err := strconv.Atoi(configs[4])
if err == nil && timeout > 0 { if err == nil && timeout > 0 {
idleTimeout = time.Duration(timeout) * time.Second rp.idleTimeout = time.Duration(timeout) * time.Second
} }
} }
var idleCheckFrequency time.Duration = 0
if len(configs) > 5 { if len(configs) > 5 {
checkFrequency, err := strconv.Atoi(configs[5]) checkFrequency, err := strconv.Atoi(configs[5])
if err == nil && checkFrequency > 0 { if err == nil && checkFrequency > 0 {
idleCheckFrequency = time.Duration(checkFrequency) * time.Second rp.idleCheckFrequency = time.Duration(checkFrequency) * time.Second
} }
} }
var maxRetries = 0
if len(configs) > 6 { if len(configs) > 6 {
retries, err := strconv.Atoi(configs[6]) retries, err := strconv.Atoi(configs[6])
if err == nil && retries > 0 { if err == nil && retries > 0 {
maxRetries = retries rp.maxRetries = retries
} }
} }
@ -173,9 +173,9 @@ func (rp *Provider) SessionInit(maxlifetime int64, savePath string) error {
Addrs: strings.Split(rp.savePath, ";"), Addrs: strings.Split(rp.savePath, ";"),
Password: rp.password, Password: rp.password,
PoolSize: rp.poolsize, PoolSize: rp.poolsize,
IdleTimeout: idleTimeout, IdleTimeout: rp.idleTimeout,
IdleCheckFrequency: idleCheckFrequency, IdleCheckFrequency: rp.idleCheckFrequency,
MaxRetries: maxRetries, MaxRetries: rp.maxRetries,
}) })
return rp.poollist.Ping().Err() return rp.poollist.Ping().Err()
} }

View File

@ -112,6 +112,9 @@ type Provider struct {
poolsize int poolsize int
password string password string
dbNum int dbNum int
idleTimeout time.Duration
idleCheckFrequency time.Duration
maxRetries int
poollist *redis.Client poollist *redis.Client
masterName string masterName string
} }
@ -157,25 +160,22 @@ func (rp *Provider) SessionInit(maxlifetime int64, savePath string) error {
} else { } else {
rp.masterName = "mymaster" rp.masterName = "mymaster"
} }
var idleTimeout time.Duration = 0
if len(configs) > 5 { if len(configs) > 5 {
timeout, err := strconv.Atoi(configs[4]) timeout, err := strconv.Atoi(configs[4])
if err == nil && timeout > 0 { if err == nil && timeout > 0 {
idleTimeout = time.Duration(timeout) * time.Second rp.idleTimeout = time.Duration(timeout) * time.Second
} }
} }
var idleCheckFrequency time.Duration = 0
if len(configs) > 6 { if len(configs) > 6 {
checkFrequency, err := strconv.Atoi(configs[5]) checkFrequency, err := strconv.Atoi(configs[5])
if err == nil && checkFrequency > 0 { if err == nil && checkFrequency > 0 {
idleCheckFrequency = time.Duration(checkFrequency) * time.Second rp.idleCheckFrequency = time.Duration(checkFrequency) * time.Second
} }
} }
var maxRetries = 0
if len(configs) > 7 { if len(configs) > 7 {
retries, err := strconv.Atoi(configs[6]) retries, err := strconv.Atoi(configs[6])
if err == nil && retries > 0 { if err == nil && retries > 0 {
maxRetries = retries rp.maxRetries = retries
} }
} }
@ -185,9 +185,9 @@ func (rp *Provider) SessionInit(maxlifetime int64, savePath string) error {
PoolSize: rp.poolsize, PoolSize: rp.poolsize,
DB: rp.dbNum, DB: rp.dbNum,
MasterName: rp.masterName, MasterName: rp.masterName,
IdleTimeout: idleTimeout, IdleTimeout: rp.idleTimeout,
IdleCheckFrequency: idleCheckFrequency, IdleCheckFrequency: rp.idleCheckFrequency,
MaxRetries: maxRetries, MaxRetries: rp.maxRetries,
}) })
return rp.poollist.Ping().Err() return rp.poollist.Ping().Err()