|
|
@@ -75,3 +75,49 @@ func GetModelArtsTrainJob(ctx *context.APIContext) { |
|
|
|
}) |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
func TrainJobGetLog(ctx *context.APIContext) { |
|
|
|
var ( |
|
|
|
err error |
|
|
|
) |
|
|
|
|
|
|
|
var jobID = ctx.Params(":jobid") |
|
|
|
var logFileName = ctx.Query("file_name") |
|
|
|
var baseLine = ctx.Query("base_line") |
|
|
|
var order = ctx.Query("order") |
|
|
|
|
|
|
|
if order != modelarts.OrderDesc && order != modelarts.OrderAsc { |
|
|
|
log.Error("order(%s) check failed", order) |
|
|
|
ctx.JSON(http.StatusBadRequest, map[string]interface{}{ |
|
|
|
"err_msg": "order check failed", |
|
|
|
}) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
task, err := models.GetCloudbrainByJobID(jobID) |
|
|
|
if err != nil { |
|
|
|
log.Error("GetCloudbrainByJobID(%s) failed:%v", jobID, err.Error()) |
|
|
|
ctx.JSON(http.StatusInternalServerError, map[string]interface{}{ |
|
|
|
"err_msg": "GetCloudbrainByJobID failed", |
|
|
|
}) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
result, err := modelarts.GetTrainJobLog(jobID, strconv.FormatInt(task.VersionID, 10), baseLine, logFileName, order, 20) |
|
|
|
if err != nil { |
|
|
|
log.Error("GetTrainJobLog(%s) failed:%v", jobID, err.Error()) |
|
|
|
ctx.JSON(http.StatusInternalServerError, map[string]interface{}{ |
|
|
|
"err_msg": "GetTrainJobLog failed", |
|
|
|
}) |
|
|
|
return |
|
|
|
} |
|
|
|
|
|
|
|
ctx.Data["log"] = result |
|
|
|
|
|
|
|
ctx.JSON(http.StatusOK, map[string]interface{}{ |
|
|
|
"JobID": jobID, |
|
|
|
"StartLine": result.StartLine, |
|
|
|
"EndLine": result.EndLine, |
|
|
|
"Content": result.Content, |
|
|
|
}) |
|
|
|
} |