mirror of
https://bitbucket.org/s_l_teichmann/mtsatellite
synced 2025-07-03 16:40:49 +02:00
Use db client factory in seeder.
This commit is contained in:
33
common/clientfactory.go
Normal file
33
common/clientfactory.go
Normal file
@ -0,0 +1,33 @@
|
||||
// Copyright 2022 by Sascha L. Teichmann
|
||||
// Use of this source code is governed by the MIT license
|
||||
// that can be found in the LICENSE file.
|
||||
|
||||
package common
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type DBClientCreator func() (DBClient, error)
|
||||
|
||||
func CreateDBClientCreator(host string, port int) DBClientCreator {
|
||||
|
||||
var address string
|
||||
if strings.ContainsRune(host, '/') {
|
||||
address = host
|
||||
} else {
|
||||
address = fmt.Sprintf("%s:%d", host, port)
|
||||
}
|
||||
|
||||
var proto string
|
||||
if strings.ContainsRune(address, '/') {
|
||||
proto = "unix"
|
||||
} else {
|
||||
proto = "tcp"
|
||||
}
|
||||
|
||||
return func() (DBClient, error) {
|
||||
return NewRedisClient(proto, address)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user