Browse Source

调整Load操作的产生的目录的结构

gitlink
Sydonian 2 years ago
parent
commit
221dbc9e89
4 changed files with 10 additions and 14 deletions
  1. +0
    -1
      agent/internal/config/config.go
  2. +5
    -8
      agent/internal/services/mq/storage.go
  3. +0
    -1
      common/assets/confs/agent.config.json
  4. +5
    -4
      common/utils/utils.go

+ 0
- 1
agent/internal/config/config.go View File

@@ -15,7 +15,6 @@ type Config struct {
Local stgmodels.LocalMachineInfo `json:"local"`
GRPC *grpc.Config `json:"grpc"`
ECPacketSize int64 `json:"ecPacketSize"`
StorageBaseDir string `json:"storageBaseDir"`
TempFileLifetime int `json:"tempFileLifetime"` // temp状态的副本最多能保持多久时间,单位:秒
Logger log.Config `json:"logger"`
RabbitMQ stgmq.Config `json:"rabbitMQ"`


+ 5
- 8
agent/internal/services/mq/storage.go View File

@@ -10,7 +10,6 @@ import (
"gitlink.org.cn/cloudream/common/consts/errorcode"
"gitlink.org.cn/cloudream/common/pkgs/logger"
"gitlink.org.cn/cloudream/common/pkgs/mq"
"gitlink.org.cn/cloudream/storage/agent/internal/config"
mytask "gitlink.org.cn/cloudream/storage/agent/internal/task"
"gitlink.org.cn/cloudream/storage/common/consts"
stgglb "gitlink.org.cn/cloudream/storage/common/globals"
@@ -37,7 +36,7 @@ func (svc *Service) StartStorageLoadPackage(msg *agtmq.StartStorageLoadPackage)
return nil, mq.Failed(errorcode.OperationFailed, "get storage info failed")
}

outputDirPath := filepath.Join(config.Cfg().StorageBaseDir, getStgResp.Directory, utils.MakeStorageLoadPackageDirName(msg.PackageID, msg.UserID))
outputDirPath := utils.MakeStorageLoadPackagePath(getStgResp.Directory, msg.UserID, msg.PackageID)
if err = os.MkdirAll(outputDirPath, 0755); err != nil {
logger.WithField("StorageID", msg.StorageID).
Warnf("creating output directory: %s", err.Error())
@@ -87,9 +86,7 @@ func (svc *Service) WaitStorageLoadPackage(msg *agtmq.WaitStorageLoadPackage) (*
}

func (svc *Service) StorageCheck(msg *agtmq.StorageCheck) (*agtmq.StorageCheckResp, *mq.CodeMessage) {
dirFullPath := filepath.Join(config.Cfg().StorageBaseDir, msg.Directory)

infos, err := os.ReadDir(dirFullPath)
infos, err := os.ReadDir(msg.Directory)
if err != nil {
logger.Warnf("list storage directory failed, err: %s", err.Error())
return mq.ReplyOK(agtmq.NewStorageCheckResp(
@@ -115,7 +112,7 @@ func (svc *Service) checkStorageIncrement(msg *agtmq.StorageCheck, dirInfos []fs

var entries []agtmq.StorageCheckRespEntry
for _, obj := range msg.Packages {
dirName := utils.MakeStorageLoadPackageDirName(obj.PackageID, obj.UserID)
dirName := utils.MakeStorageLoadPackagePath(msg.Directory, obj.UserID, obj.PackageID)
_, ok := infosMap[dirName]

if ok {
@@ -143,7 +140,7 @@ func (svc *Service) checkStorageComplete(msg *agtmq.StorageCheck, dirInfos []fs.

var entries []agtmq.StorageCheckRespEntry
for _, obj := range msg.Packages {
dirName := utils.MakeStorageLoadPackageDirName(obj.PackageID, obj.UserID)
dirName := utils.MakeStorageLoadPackagePath(msg.Directory, obj.UserID, obj.PackageID)
_, ok := infosMap[dirName]

if ok {
@@ -177,7 +174,7 @@ func (svc *Service) StartStorageCreatePackage(msg *agtmq.StartStorageCreatePacka
return nil, mq.Failed(errorcode.OperationFailed, "get storage info failed")
}

fullPath := filepath.Clean(filepath.Join(config.Cfg().StorageBaseDir, getStgResp.Directory, msg.Path))
fullPath := filepath.Clean(filepath.Join(getStgResp.Directory, msg.Path))

var uploadFilePathes []string
err = filepath.WalkDir(fullPath, func(fname string, fi os.DirEntry, err error) error {


+ 0
- 1
common/assets/confs/agent.config.json View File

@@ -10,7 +10,6 @@
"port": 5010
},
"ecPacketSize": 10,
"storageBaseDir": ".",
"tempFileLifetime": 3600,
"logger": {
"output": "file",


+ 5
- 4
common/utils/utils.go View File

@@ -1,10 +1,11 @@
package utils

import (
"fmt"
"path/filepath"
"strconv"
)

// MakeStorageLoadPackageDirName Load操作时,写入的文件夹的名称
func MakeStorageLoadPackageDirName(packageID int64, userID int64) string {
return fmt.Sprintf("%d-%d", packageID, userID)
// MakeStorageLoadPackagePath Load操作时,写入的文件夹的名称
func MakeStorageLoadPackagePath(stgDir string, userID int64, packageID int64) string {
return filepath.Join(stgDir, strconv.FormatInt(userID, 10), "packages", strconv.FormatInt(packageID, 10))
}

Loading…
Cancel
Save