JCC-CSScheduler/collector/internal/mq/storage.go

51 lines
1.9 KiB
Go

package mq
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/common/sdks/storage/cdsapi"
schglb "gitlink.org.cn/cloudream/scheduler/common/globals"
colmq "gitlink.org.cn/cloudream/scheduler/common/pkgs/mq/collector"
)
func (svc *Service) PackageGetCachedStgNodes(msg *colmq.PackageGetCachedStgNodes) (*colmq.PackageGetCachedStgNodesResp, *mq.CodeMessage) {
stgCli, err := schglb.CloudreamStoragePool.Acquire()
if err != nil {
logger.Warnf("new storage client, err: %s", err.Error())
return nil, mq.Failed(errorcode.OperationFailed, "new storage client failed")
}
defer schglb.CloudreamStoragePool.Release(stgCli)
resp, err := stgCli.Package().GetCachedStorages(cdsapi.PackageGetCachedStoragesReq{
PackageID: msg.PackageID,
UserID: msg.UserID,
})
if err != nil {
logger.Warnf("get package cached stg nodes failed, err: %s", err.Error())
return nil, mq.Failed(errorcode.OperationFailed, "get package cached stg nodes failed")
}
return mq.ReplyOK(colmq.NewPackageGetCachedStgNodesResp(resp.StorageInfos, resp.PackageSize))
}
func (svc *Service) PackageGetLoadedStgs(msg *colmq.PackageGetLoadedStgs) (*colmq.PackageGetLoadedStgsResp, *mq.CodeMessage) {
stgCli, err := schglb.CloudreamStoragePool.Acquire()
if err != nil {
logger.Warnf("new storage client, err: %s", err.Error())
return nil, mq.Failed(errorcode.OperationFailed, "new storage client failed")
}
defer schglb.CloudreamStoragePool.Release(stgCli)
resp, err := stgCli.Package().GetLoadedStorages(cdsapi.PackageGetLoadedStoragesReq{
PackageID: msg.PackageID,
UserID: msg.UserID,
})
if err != nil {
logger.Warnf("get package loaded stg nodes failed, err: %s", err.Error())
return nil, mq.Failed(errorcode.OperationFailed, "get package loaded stg nodes failed")
}
return mq.ReplyOK(colmq.NewPackageGetLoadedStgsResp(resp.StorageIDs))
}