mirror of
https://github.com/openimsdk/open-im-server.git
synced 2025-10-26 13:12:12 +08:00
feat: config
This commit is contained in:
parent
8acd21e180
commit
3f482d6230
@ -12,6 +12,7 @@ import (
|
|||||||
"github.com/openimsdk/open-im-server/v3/version"
|
"github.com/openimsdk/open-im-server/v3/version"
|
||||||
"github.com/openimsdk/tools/apiresp"
|
"github.com/openimsdk/tools/apiresp"
|
||||||
"github.com/openimsdk/tools/errs"
|
"github.com/openimsdk/tools/errs"
|
||||||
|
"github.com/openimsdk/tools/log"
|
||||||
"github.com/openimsdk/tools/utils/runtimeenv"
|
"github.com/openimsdk/tools/utils/runtimeenv"
|
||||||
clientv3 "go.etcd.io/etcd/client/v3"
|
clientv3 "go.etcd.io/etcd/client/v3"
|
||||||
)
|
)
|
||||||
@ -196,11 +197,16 @@ func (cm *ConfigManager) restart(c *gin.Context) {
|
|||||||
|
|
||||||
changedKeys := make([]string, 0, len(configMap))
|
changedKeys := make([]string, 0, len(configMap))
|
||||||
for k, v := range configMap {
|
for k, v := range configMap {
|
||||||
err := config.Load(cm.configPath, k, config.EnvPrefixMap[k],
|
err := config.Load(
|
||||||
cm.runtimeEnv, v.new)
|
cm.configPath,
|
||||||
|
k,
|
||||||
|
config.EnvPrefixMap[k],
|
||||||
|
cm.runtimeEnv,
|
||||||
|
v.new,
|
||||||
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
apiresp.GinError(c, errs.WrapMsg(err, "load config failed"))
|
log.ZError(c, "load config failed", err)
|
||||||
return
|
continue
|
||||||
}
|
}
|
||||||
v.isChanged = reflect.DeepEqual(v.old, v.new)
|
v.isChanged = reflect.DeepEqual(v.old, v.new)
|
||||||
if v.isChanged {
|
if v.isChanged {
|
||||||
@ -211,13 +217,13 @@ func (cm *ConfigManager) restart(c *gin.Context) {
|
|||||||
for _, k := range changedKeys {
|
for _, k := range changedKeys {
|
||||||
data, err := json.Marshal(configMap[k].new)
|
data, err := json.Marshal(configMap[k].new)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
apiresp.GinError(c, errs.WrapMsg(err, "marshal config failed"))
|
log.ZError(c, "marshal config failed", err)
|
||||||
return
|
continue
|
||||||
}
|
}
|
||||||
_, err = cm.client.Put(c, etcd.BuildKey(k), string(data))
|
_, err = cm.client.Put(c, etcd.BuildKey(k), string(data))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
apiresp.GinError(c, errs.WrapMsg(err, "save to etcd failed"))
|
log.ZError(c, "save to etcd failed", err)
|
||||||
return
|
continue
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
etcd.CanRestart <- struct{}{}
|
etcd.CanRestart <- struct{}{}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user