Skip to content

Commit d9463f0

Browse files
committed
Update.
1 parent 6683b6a commit d9463f0

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

service/rpc/server.go

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,19 @@ func (s *ServerHandler) ReportSystemState(c context.Context, r *pb.State) (*pb.R
168168
// 更新状态中的累计流量
169169
if singleton.ServerList[clientID].LastActive.IsZero() || isRestart {
170170
// 首次上线或重启,使用当前流量加上数据库中的累计流量
171+
// 注意:确保每次都从数据库读取最新的累计值,避免使用可能过时的内存值
172+
var server model.Server
173+
if err := singleton.DB.First(&server, clientID).Error; err == nil {
174+
// 使用数据库中的累计值,确保不会丢失数据
175+
singleton.ServerList[clientID].CumulativeNetInTransfer = server.CumulativeNetInTransfer
176+
singleton.ServerList[clientID].CumulativeNetOutTransfer = server.CumulativeNetOutTransfer
177+
log.Printf("从数据库加载服务器 %s 累计流量数据: 入站=%d, 出站=%d",
178+
singleton.ServerList[clientID].Name,
179+
server.CumulativeNetInTransfer,
180+
server.CumulativeNetOutTransfer)
181+
}
182+
183+
// 然后再加上当前新上报的流量值
171184
state.NetInTransfer = originalNetInTransfer + singleton.ServerList[clientID].CumulativeNetInTransfer
172185
state.NetOutTransfer = originalNetOutTransfer + singleton.ServerList[clientID].CumulativeNetOutTransfer
173186

0 commit comments

Comments
 (0)