@@ -13,7 +13,6 @@ import (
1313 "github.com/OpenListTeam/OpenList/v4/internal/stream"
1414 "github.com/OpenListTeam/OpenList/v4/internal/task"
1515 "github.com/OpenListTeam/OpenList/v4/internal/task_group"
16- "github.com/OpenListTeam/OpenList/v4/pkg/utils"
1716 "github.com/OpenListTeam/OpenList/v4/server/common"
1817 "github.com/OpenListTeam/tache"
1918 "github.com/pkg/errors"
@@ -48,9 +47,6 @@ func (t *FileTransferTask) GetName() string {
4847}
4948
5049func (t * FileTransferTask ) Run () error {
51- if err := t .ReinitCtx (); err != nil {
52- return err
53- }
5450 if t .SrcStorage == nil {
5551 if srcStorage , _ , err := op .GetStorageAndActualPath (t .SrcStorageMp ); err == nil {
5652 t .SrcStorage = srcStorage
@@ -88,7 +84,7 @@ func (t *FileTransferTask) OnFailed() {
8884}
8985
9086func (t * FileTransferTask ) SetRetry (retry int , maxRetry int ) {
91- t .TaskExtension .SetRetry (retry , maxRetry )
87+ t .TaskData .SetRetry (retry , maxRetry )
9288 if retry == 0 &&
9389 (len (t .groupID ) == 0 || // 重启恢复
9490 (t .GetErr () == nil && t .GetState () != tache .StatePending )) { // 手动重试
@@ -198,17 +194,23 @@ func (t *FileTransferTask) RunWithNextTaskCallback(f func(nextTask *FileTransfer
198194
199195 existedObjs := make (map [string ]bool )
200196 if t .TaskType == merge {
201- dstObjs , _ := op .List (t .Ctx (), t .DstStorage , dstActualPath , model.ListArgs {})
197+ dstObjs , err := op .List (t .Ctx (), t .DstStorage , dstActualPath , model.ListArgs {})
198+ if err != nil {
199+ return errors .WithMessagef (err , "failed list dst [%s] objs" , dstActualPath )
200+ }
202201 for _ , obj := range dstObjs {
202+ if err := t .Ctx ().Err (); err != nil {
203+ return err
204+ }
203205 if ! obj .IsDir () {
204206 existedObjs [obj .GetName ()] = true
205207 }
206208 }
207209 }
208210
209211 for _ , obj := range objs {
210- if utils . IsCanceled ( t .Ctx ()) {
211- return nil
212+ if err := t .Ctx (). Err (); err != nil {
213+ return err
212214 }
213215
214216 if t .TaskType == merge && ! obj .IsDir () && existedObjs [obj .GetName ()] {
@@ -239,6 +241,7 @@ func (t *FileTransferTask) RunWithNextTaskCallback(f func(nextTask *FileTransfer
239241 return nil
240242 }
241243
244+ t .Status = "getting src object link"
242245 link , _ , err := op .Link (t .Ctx (), t .SrcStorage , t .SrcActualPath , model.LinkArgs {})
243246 if err != nil {
244247 return errors .WithMessagef (err , "failed get [%s] link" , t .SrcActualPath )
0 commit comments