feat: async create a record (#1711)

Signed-off-by: Gaius <gaius.qi@gmail.com>
This commit is contained in:
Gaius 2022-09-28 13:47:01 +08:00
parent 7cc842d64d
commit 71bb5cc4ed
No known key found for this signature in database
GPG Key ID: 8B4E5D1290FA2FFB
1 changed files with 7 additions and 5 deletions

View File

@ -385,15 +385,15 @@ func (s *Service) ReportPeerResult(ctx context.Context, req *schedulerv1.PeerRes
if !req.Success {
peer.Log.Errorf("report peer failed result: %s %#v", req.Code, req)
if peer.FSM.Is(resource.PeerStateBackToSource) {
s.createRecord(peer, storage.PeerStateBackToSourceFailed, req)
metrics.DownloadFailureCount.WithLabelValues(peer.Tag, peer.Application, metrics.DownloadFailureBackToSourceType).Inc()
s.handleTaskFail(ctx, peer.Task, req.GetSourceError(), nil)
s.handlePeerFail(ctx, peer)
go s.createRecord(peer, storage.PeerStateBackToSourceFailed, req)
return nil
}
s.createRecord(peer, storage.PeerStateFailed, req)
go s.createRecord(peer, storage.PeerStateFailed, req)
metrics.DownloadFailureCount.WithLabelValues(peer.Tag, peer.Application, metrics.DownloadFailureP2PType).Inc()
s.handlePeerFail(ctx, peer)
@ -403,14 +403,16 @@ func (s *Service) ReportPeerResult(ctx context.Context, req *schedulerv1.PeerRes
peer.Log.Infof("report peer result: %#v", req)
if peer.FSM.Is(resource.PeerStateBackToSource) {
s.createRecord(peer, storage.PeerStateBackToSourceSucceeded, req)
s.handleTaskSuccess(ctx, peer.Task, req)
s.handlePeerSuccess(ctx, peer)
go s.createRecord(peer, storage.PeerStateBackToSourceSucceeded, req)
return nil
}
s.createRecord(peer, storage.PeerStateSucceeded, req)
s.handlePeerSuccess(ctx, peer)
go s.createRecord(peer, storage.PeerStateSucceeded, req)
return nil
}