fix: 初验针对修改
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
package impl
|
||||
|
||||
import (
|
||||
"errors"
|
||||
|
||||
"git.apinb.com/bsm-sdk/core/cache/redis"
|
||||
"git.apinb.com/bsm-sdk/core/logger"
|
||||
"git.apinb.com/bsm-sdk/core/types"
|
||||
@@ -8,6 +10,7 @@ import (
|
||||
"git.apinb.com/bsm-sdk/core/with"
|
||||
"git.apinb.com/ops/files/internal/config"
|
||||
"git.apinb.com/ops/files/internal/storage"
|
||||
"git.apinb.com/ops/files/internal/storage/factory"
|
||||
clientv3 "go.etcd.io/etcd/client/v3"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
@@ -16,7 +19,7 @@ var (
|
||||
RedisService *redis.RedisClient
|
||||
EtcdService *clientv3.Client
|
||||
DBService *gorm.DB
|
||||
StorageService *storage.Client
|
||||
StorageService storage.Backend
|
||||
Logger *logger.Logger
|
||||
)
|
||||
|
||||
@@ -31,7 +34,7 @@ func NewImpl() {
|
||||
})
|
||||
|
||||
var err error
|
||||
StorageService, err = storage.New(config.Spec.ObjectStorage)
|
||||
StorageService, err = factory.New(config.Spec.Storage)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
@@ -40,3 +43,26 @@ func NewImpl() {
|
||||
EtcdService = with.Etcd(config.Spec.Etcd)
|
||||
logger.New(nil)
|
||||
}
|
||||
|
||||
// Close 关闭数据库、Redis 和 Etcd 连接。
|
||||
func Close() error {
|
||||
var closeErrors []error
|
||||
if DBService != nil {
|
||||
if sqlDB, err := DBService.DB(); err != nil {
|
||||
closeErrors = append(closeErrors, err)
|
||||
} else if err := sqlDB.Close(); err != nil {
|
||||
closeErrors = append(closeErrors, err)
|
||||
}
|
||||
}
|
||||
if RedisService != nil && RedisService.Client != nil {
|
||||
if err := RedisService.Client.Close(); err != nil {
|
||||
closeErrors = append(closeErrors, err)
|
||||
}
|
||||
}
|
||||
if EtcdService != nil {
|
||||
if err := EtcdService.Close(); err != nil {
|
||||
closeErrors = append(closeErrors, err)
|
||||
}
|
||||
}
|
||||
return errors.Join(closeErrors...)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user