|
12345678910111213141516171819202122232425262728293031323334353637 |
- package task
-
- import (
- "time"
-
- "gitlink.org.cn/cloudream/common/pkgs/task"
- cdssdk "gitlink.org.cn/cloudream/common/sdks/storage"
- "gitlink.org.cn/cloudream/storage/common/pkgs/cmd"
- "gitlink.org.cn/cloudream/storage/common/pkgs/iterator"
- )
-
- type UploadObjectsResult = cmd.UploadObjectsResult
-
- type UploadObjects struct {
- cmd cmd.UploadObjects
-
- Result *UploadObjectsResult
- }
-
- func NewUploadObjects(userID cdssdk.UserID, packageID cdssdk.PackageID, objectIter iterator.UploadingObjectIterator, nodeAffinity *cdssdk.NodeID) *UploadObjects {
- return &UploadObjects{
- cmd: *cmd.NewUploadObjects(userID, packageID, objectIter, nodeAffinity),
- }
- }
-
- func (t *UploadObjects) Execute(task *task.Task[TaskContext], ctx TaskContext, complete CompleteFn) {
- ret, err := t.cmd.Execute(&cmd.UploadObjectsContext{
- Distlock: ctx.distlock,
- Connectivity: ctx.connectivity,
- })
-
- t.Result = ret
-
- complete(err, CompleteOption{
- RemovingDelay: time.Minute,
- })
- }
|