|
|
@@ -26,6 +26,7 @@ const ( |
|
|
|
tplModelInfo = "repo/modelmanage/showinfo" |
|
|
|
MODEL_LATEST = 1 |
|
|
|
MODEL_NOT_LATEST = 0 |
|
|
|
MODEL_MAX_SIZE = 1 //1024 * 1024 * 1024 |
|
|
|
) |
|
|
|
|
|
|
|
func saveModelByParameters(jobId string, versionName string, name string, version string, label string, description string, engine int, ctx *context.Context) error { |
|
|
@@ -204,6 +205,17 @@ func downloadModelFromCloudBrainTwo(modelUUID string, jobName string, parentDir |
|
|
|
if trainUrl != "" { |
|
|
|
objectkey = strings.Trim(trainUrl[len(setting.Bucket)+1:], "/") |
|
|
|
} |
|
|
|
prefix := objectkey + "/" |
|
|
|
|
|
|
|
filterFiles := strings.Split(modelSelectedFile, ";") |
|
|
|
Files := make([]string, 0) |
|
|
|
for _, shortFile := range filterFiles { |
|
|
|
Files = append(Files, prefix+shortFile) |
|
|
|
} |
|
|
|
totalSize := storage.ObsGetFilesSize(setting.Bucket, Files) |
|
|
|
if totalSize > setting.MaxModelSize*MODEL_MAX_SIZE { |
|
|
|
return "", 0, errors.New("Cannot create model, as model is exceed " + fmt.Sprint(setting.MaxModelSize) + "G.") |
|
|
|
} |
|
|
|
|
|
|
|
modelDbResult, err := storage.GetOneLevelAllObjectUnderDir(setting.Bucket, objectkey, "") |
|
|
|
log.Info("bucket=" + setting.Bucket + " objectkey=" + objectkey) |
|
|
@@ -212,12 +224,10 @@ func downloadModelFromCloudBrainTwo(modelUUID string, jobName string, parentDir |
|
|
|
return "", 0, err |
|
|
|
} |
|
|
|
if len(modelDbResult) == 0 { |
|
|
|
return "", 0, errors.New("cannot create model, as model is empty.") |
|
|
|
return "", 0, errors.New("Cannot create model, as model is empty.") |
|
|
|
} |
|
|
|
|
|
|
|
prefix := objectkey + "/" |
|
|
|
destKeyNamePrefix := Model_prefix + models.AttachmentRelativePath(modelUUID) + "/" |
|
|
|
filterFiles := strings.Split(modelSelectedFile, ";") |
|
|
|
size, err := storage.ObsCopyManyFile(setting.Bucket, prefix, setting.Bucket, destKeyNamePrefix, filterFiles) |
|
|
|
|
|
|
|
dataActualPath := setting.Bucket + "/" + destKeyNamePrefix |
|
|
@@ -232,6 +242,14 @@ func downloadModelFromCloudBrainOne(modelUUID string, jobName string, parentDir |
|
|
|
bucketName := setting.Attachment.Minio.Bucket |
|
|
|
log.Info("destKeyNamePrefix=" + destKeyNamePrefix + " modelSrcPrefix=" + modelSrcPrefix + " bucket=" + bucketName) |
|
|
|
filterFiles := strings.Split(modelSelectedFile, ";") |
|
|
|
Files := make([]string, 0) |
|
|
|
for _, shortFile := range filterFiles { |
|
|
|
Files = append(Files, modelSrcPrefix+shortFile) |
|
|
|
} |
|
|
|
totalSize := storage.MinioGetFilesSize(bucketName, Files) |
|
|
|
if totalSize > setting.MaxModelSize*MODEL_MAX_SIZE { |
|
|
|
return "", 0, errors.New("Cannot create model, as model is exceed " + fmt.Sprint(setting.MaxModelSize) + "G.") |
|
|
|
} |
|
|
|
size, err := storage.MinioCopyFiles(bucketName, modelSrcPrefix, destKeyNamePrefix, filterFiles) |
|
|
|
if err == nil { |
|
|
|
dataActualPath := bucketName + "/" + destKeyNamePrefix |
|
|
|