Skip to content

Commit

Permalink
fix: return errors instead of nil in RequestTask and ReportSystemStat…
Browse files Browse the repository at this point in the history
…e methods
  • Loading branch information
naiba committed Mar 3, 2025
1 parent f1e3613 commit 63208c1
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions service/rpc/nezha.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ func (s *NezhaHandler) RequestTask(stream pb.NezhaService_RequestTaskServer) err
result, err = stream.Recv()
if err != nil {
log.Printf("NEZHA>> RequestTask error: %v, clientID: %d\n", err, clientID)
return nil
return err
}
switch result.GetType() {
case model.TaskTypeCommand:
Expand Down Expand Up @@ -94,34 +94,36 @@ func (s *NezhaHandler) RequestTask(stream pb.NezhaService_RequestTaskServer) err
}

func (s *NezhaHandler) ReportSystemState(stream pb.NezhaService_ReportSystemStateServer) error {
var err error
var clientID uint64
if clientID, err = s.Auth.Check(stream.Context()); err != nil {
clientID, err := s.Auth.Check(stream.Context())
if err != nil {
return err
}
var state *pb.State
for {
state, err = stream.Recv()
if err != nil {
log.Printf("NEZHA>> ReportSystemState error: %v, clientID: %d\n", err, clientID)
return nil
return err
}
state := model.PB2State(state)
innerState := model.PB2State(state)

server, ok := singleton.ServerShared.Get(clientID)
if !ok || server == nil {
return nil
return errors.New("server not found")
}

server.LastActive = time.Now()
server.State = &state
server.State = &innerState

// 应对 dashboard 重启的情况,如果从未记录过,先打点,等到小时时间点时入库
if server.PrevTransferInSnapshot == 0 || server.PrevTransferOutSnapshot == 0 {
server.PrevTransferInSnapshot = int64(state.NetInTransfer)
server.PrevTransferOutSnapshot = int64(state.NetOutTransfer)
}

stream.Send(&pb.Receipt{Proced: true})
if err = stream.Send(&pb.Receipt{Proced: true}); err != nil {
return err
}
}
}

Expand Down

0 comments on commit 63208c1

Please sign in to comment.