| @@ -11,6 +11,7 @@ import ( | |||||
| "github.com/samber/lo" | "github.com/samber/lo" | ||||
| "gitlink.org.cn/cloudream/common/pkgs/bitmap" | "gitlink.org.cn/cloudream/common/pkgs/bitmap" | ||||
| "gitlink.org.cn/cloudream/common/pkgs/ipfs" | "gitlink.org.cn/cloudream/common/pkgs/ipfs" | ||||
| "gitlink.org.cn/cloudream/common/pkgs/logger" | |||||
| "gitlink.org.cn/cloudream/common/pkgs/task" | "gitlink.org.cn/cloudream/common/pkgs/task" | ||||
| cdssdk "gitlink.org.cn/cloudream/common/sdks/storage" | cdssdk "gitlink.org.cn/cloudream/common/sdks/storage" | ||||
| "gitlink.org.cn/cloudream/common/utils/io2" | "gitlink.org.cn/cloudream/common/utils/io2" | ||||
| @@ -44,7 +45,19 @@ func NewStorageLoadPackage(userID cdssdk.UserID, packageID cdssdk.PackageID, sto | |||||
| } | } | ||||
| } | } | ||||
| func (t *StorageLoadPackage) Execute(task *task.Task[TaskContext], ctx TaskContext, complete CompleteFn) { | func (t *StorageLoadPackage) Execute(task *task.Task[TaskContext], ctx TaskContext, complete CompleteFn) { | ||||
| startTime := time.Now() | |||||
| log := logger.WithType[StorageLoadPackage]("Task") | |||||
| log.WithField("TaskID", task.ID()). | |||||
| Infof("begin to load package %v to %v", t.packageID, t.storageID) | |||||
| err := t.do(task, ctx) | err := t.do(task, ctx) | ||||
| if err == nil { | |||||
| log.WithField("TaskID", task.ID()). | |||||
| Infof("loading success, cost: %v", time.Since(startTime)) | |||||
| } else { | |||||
| log.WithField("TaskID", task.ID()). | |||||
| Warnf("loading package: %v, cost: %v", err, time.Since(startTime)) | |||||
| } | |||||
| complete(err, CompleteOption{ | complete(err, CompleteOption{ | ||||
| RemovingDelay: time.Minute, | RemovingDelay: time.Minute, | ||||
| @@ -1,6 +1,7 @@ | |||||
| package http | package http | ||||
| import ( | import ( | ||||
| "fmt" | |||||
| "net/http" | "net/http" | ||||
| "path/filepath" | "path/filepath" | ||||
| "time" | "time" | ||||
| @@ -34,7 +35,7 @@ func (s *StorageService) LoadPackage(ctx *gin.Context) { | |||||
| nodeID, taskID, err := s.svc.StorageSvc().StartStorageLoadPackage(req.UserID, req.PackageID, req.StorageID) | nodeID, taskID, err := s.svc.StorageSvc().StartStorageLoadPackage(req.UserID, req.PackageID, req.StorageID) | ||||
| if err != nil { | if err != nil { | ||||
| log.Warnf("start storage load package: %s", err.Error()) | log.Warnf("start storage load package: %s", err.Error()) | ||||
| ctx.JSON(http.StatusOK, Failed(errorcode.OperationFailed, "storage load package failed")) | |||||
| ctx.JSON(http.StatusOK, Failed(errorcode.OperationFailed, fmt.Sprintf("start loading: %v", err))) | |||||
| return | return | ||||
| } | } | ||||
| @@ -43,7 +44,7 @@ func (s *StorageService) LoadPackage(ctx *gin.Context) { | |||||
| if complete { | if complete { | ||||
| if err != nil { | if err != nil { | ||||
| log.Warnf("loading complete with: %s", err.Error()) | log.Warnf("loading complete with: %s", err.Error()) | ||||
| ctx.JSON(http.StatusOK, Failed(errorcode.OperationFailed, "storage load package failed")) | |||||
| ctx.JSON(http.StatusOK, Failed(errorcode.OperationFailed, fmt.Sprintf("loading complete with: %v", err))) | |||||
| return | return | ||||
| } | } | ||||
| @@ -58,7 +59,7 @@ func (s *StorageService) LoadPackage(ctx *gin.Context) { | |||||
| if err != nil { | if err != nil { | ||||
| log.Warnf("wait loadding: %s", err.Error()) | log.Warnf("wait loadding: %s", err.Error()) | ||||
| ctx.JSON(http.StatusOK, Failed(errorcode.OperationFailed, "storage load package failed")) | |||||
| ctx.JSON(http.StatusOK, Failed(errorcode.OperationFailed, fmt.Sprintf("wait loading: %v", err))) | |||||
| return | return | ||||
| } | } | ||||
| } | } | ||||