From 25a0f68252278169c761c8afed7a7d6f6a0fe9c8 Mon Sep 17 00:00:00 2001 From: Gaius Date: Wed, 19 Feb 2025 23:43:53 +0800 Subject: [PATCH] feat(scheduler): handle DownloadPieceFinishedRequest and DownloadPieceFailedRequest asynchronously Signed-off-by: Gaius --- scheduler/service/service_v2.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/scheduler/service/service_v2.go b/scheduler/service/service_v2.go index c31a956615f..8514c8f36f8 100644 --- a/scheduler/service/service_v2.go +++ b/scheduler/service/service_v2.go @@ -1746,16 +1746,20 @@ func (v *V2) AnnouncePersistentCachePeer(stream schedulerv2.Scheduler_AnnouncePe downloadPieceFinishedRequest := announcePersistentCachePeerRequest.DownloadPieceFinishedRequest log.Info("receive DownloadPieceFinishedRequest") - if err := v.handleDownloadPersistentCachePieceFinishedRequest(ctx, req.GetPeerId(), downloadPieceFinishedRequest); err != nil { - log.Error(err) - } + go func() { + if err := v.handleDownloadPersistentCachePieceFinishedRequest(context.Background(), req.GetPeerId(), downloadPieceFinishedRequest); err != nil { + log.Error(err) + } + }() case *schedulerv2.AnnouncePersistentCachePeerRequest_DownloadPieceFailedRequest: downloadPieceFailedRequest := announcePersistentCachePeerRequest.DownloadPieceFailedRequest log.Info("receive DownloadPieceFailedRequest") - if err := v.handleDownloadPersistentCachePieceFailedRequest(ctx, req.GetPeerId(), downloadPieceFailedRequest); err != nil { - log.Error(err) - } + go func() { + if err := v.handleDownloadPersistentCachePieceFailedRequest(context.Background(), req.GetPeerId(), downloadPieceFailedRequest); err != nil { + log.Error(err) + } + }() default: msg := fmt.Sprintf("receive unknow request: %#v", announcePersistentCachePeerRequest) log.Error(msg)