mirror of
https://github.com/nezhahq/nezha.git
synced 2025-03-12 08:48:12 -04:00
fix: return errors instead of nil in RequestTask and ReportSystemState methods
This commit is contained in:
parent
f1e3613daf
commit
63208c1d35
@ -51,7 +51,7 @@ func (s *NezhaHandler) RequestTask(stream pb.NezhaService_RequestTaskServer) err
|
|||||||
result, err = stream.Recv()
|
result, err = stream.Recv()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("NEZHA>> RequestTask error: %v, clientID: %d\n", err, clientID)
|
log.Printf("NEZHA>> RequestTask error: %v, clientID: %d\n", err, clientID)
|
||||||
return nil
|
return err
|
||||||
}
|
}
|
||||||
switch result.GetType() {
|
switch result.GetType() {
|
||||||
case model.TaskTypeCommand:
|
case model.TaskTypeCommand:
|
||||||
@ -94,9 +94,8 @@ func (s *NezhaHandler) RequestTask(stream pb.NezhaService_RequestTaskServer) err
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (s *NezhaHandler) ReportSystemState(stream pb.NezhaService_ReportSystemStateServer) error {
|
func (s *NezhaHandler) ReportSystemState(stream pb.NezhaService_ReportSystemStateServer) error {
|
||||||
var err error
|
clientID, err := s.Auth.Check(stream.Context())
|
||||||
var clientID uint64
|
if err != nil {
|
||||||
if clientID, err = s.Auth.Check(stream.Context()); err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
var state *pb.State
|
var state *pb.State
|
||||||
@ -104,24 +103,27 @@ func (s *NezhaHandler) ReportSystemState(stream pb.NezhaService_ReportSystemStat
|
|||||||
state, err = stream.Recv()
|
state, err = stream.Recv()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("NEZHA>> ReportSystemState error: %v, clientID: %d\n", err, clientID)
|
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)
|
server, ok := singleton.ServerShared.Get(clientID)
|
||||||
if !ok || server == nil {
|
if !ok || server == nil {
|
||||||
return nil
|
return errors.New("server not found")
|
||||||
}
|
}
|
||||||
|
|
||||||
server.LastActive = time.Now()
|
server.LastActive = time.Now()
|
||||||
server.State = &state
|
server.State = &innerState
|
||||||
|
|
||||||
// 应对 dashboard 重启的情况,如果从未记录过,先打点,等到小时时间点时入库
|
// 应对 dashboard 重启的情况,如果从未记录过,先打点,等到小时时间点时入库
|
||||||
if server.PrevTransferInSnapshot == 0 || server.PrevTransferOutSnapshot == 0 {
|
if server.PrevTransferInSnapshot == 0 || server.PrevTransferOutSnapshot == 0 {
|
||||||
server.PrevTransferInSnapshot = int64(state.NetInTransfer)
|
server.PrevTransferInSnapshot = int64(state.NetInTransfer)
|
||||||
server.PrevTransferOutSnapshot = int64(state.NetOutTransfer)
|
server.PrevTransferOutSnapshot = int64(state.NetOutTransfer)
|
||||||
}
|
}
|
||||||
|
|
||||||
stream.Send(&pb.Receipt{Proced: true})
|
if err = stream.Send(&pb.Receipt{Proced: true}); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user