reload server config
()
| 1048 | |
| 1049 | // reload server config |
| 1050 | func (this *Node) reloadServer() { |
| 1051 | this.locker.Lock() |
| 1052 | defer this.locker.Unlock() |
| 1053 | |
| 1054 | var countUpdatingServers = len(this.updatingServerMap) |
| 1055 | const maxPrintServers = 10 |
| 1056 | if countUpdatingServers > 0 { |
| 1057 | var updatingServerMap = this.updatingServerMap |
| 1058 | this.updatingServerMap = map[int64]*serverconfigs.ServerConfig{} |
| 1059 | newNodeConfig, err := nodeconfigs.CloneNodeConfig(sharedNodeConfig) |
| 1060 | if err != nil { |
| 1061 | remotelogs.Error("NODE", "apply server config error: "+err.Error()) |
| 1062 | return |
| 1063 | } |
| 1064 | for serverId, serverConfig := range updatingServerMap { |
| 1065 | if serverConfig != nil { |
| 1066 | if countUpdatingServers < maxPrintServers { |
| 1067 | remotelogs.Debug("NODE", "reload server '"+types.String(serverId)+"'") |
| 1068 | } |
| 1069 | newNodeConfig.AddServer(serverConfig) |
| 1070 | } else { |
| 1071 | if countUpdatingServers < maxPrintServers { |
| 1072 | remotelogs.Debug("NODE", "remove server '"+types.String(serverId)+"'") |
| 1073 | } |
| 1074 | newNodeConfig.RemoveServer(serverId) |
| 1075 | } |
| 1076 | } |
| 1077 | |
| 1078 | if countUpdatingServers >= maxPrintServers { |
| 1079 | remotelogs.Debug("NODE", "reload "+types.String(countUpdatingServers)+" servers") |
| 1080 | } |
| 1081 | |
| 1082 | err, serverErrors := newNodeConfig.Init(context.Background()) |
| 1083 | if err != nil { |
| 1084 | remotelogs.Error("NODE", "apply server config error: "+err.Error()) |
| 1085 | return |
| 1086 | } |
| 1087 | if len(serverErrors) > 0 { |
| 1088 | for _, serverErr := range serverErrors { |
| 1089 | remotelogs.ServerError(serverErr.Id, "NODE", serverErr.Message, nodeconfigs.NodeLogTypeServerConfigInitFailed, maps.Map{}) |
| 1090 | } |
| 1091 | } |
| 1092 | |
| 1093 | this.onReload(newNodeConfig, false) |
| 1094 | |
| 1095 | err = sharedListenerManager.Start(newNodeConfig) |
| 1096 | if err != nil { |
| 1097 | remotelogs.Error("NODE", "apply server config error: "+err.Error()) |
| 1098 | } |
| 1099 | |
| 1100 | // notify event |
| 1101 | events.Notify(events.EventReloadSomeServers) |
| 1102 | } |
| 1103 | } |
| 1104 | |
| 1105 | // 检查系统 |
| 1106 | func (this *Node) tuneSystemParameters() { |