Browse Source

debug

tags/v1.21.12.1
yuyuanshifu 4 years ago
parent
commit
cf3ef93e52
6 changed files with 80 additions and 13 deletions
  1. +12
    -0
      models/cloudbrain.go
  2. +4
    -3
      models/dataset.go
  3. +41
    -0
      modules/modelarts/resty.go
  4. +6
    -8
      routers/api/v1/repo/modelarts.go
  5. +1
    -1
      routers/repo/dataset.go
  6. +16
    -1
      routers/repo/modelarts.go

+ 12
- 0
models/cloudbrain.go View File

@@ -384,6 +384,12 @@ type GetNotebookResult struct {
EndTime string
Rank int `json:"rank"` //rank of instance in queue
} `json:"queuing_info"`
Spec struct{
Annotations struct{
TargetDomain string `json:"target_domain"`
Url string `json:"url"`
} `json:"annotations"`
} `json:"spec"`
}

type GetTokenParams struct {
@@ -441,6 +447,12 @@ type NotebookActionResult struct {
PreviousState string `json:"previous_state"`
}

type NotebookGetJobTokenResult struct {
ErrorCode string `json:"error_code"`
ErrorMsg string `json:"error_msg"`
Token string `json:"token"`
}

type NotebookDelResult struct {
InstanceID string `json:"instance_id"`
}


+ 4
- 3
models/dataset.go View File

@@ -196,11 +196,11 @@ func (s datasetMetaSearch) Less(i, j int) bool {
return s.ID[i] < s.ID[j]
}

func GetDatasetAttachments(rels ...*Dataset) (err error) {
return getDatasetAttachments(x, rels...)
func GetDatasetAttachments(typeCloudBrain int ,rels ...*Dataset) (err error) {
return getDatasetAttachments(x, typeCloudBrain, rels...)
}

func getDatasetAttachments(e Engine, rels ...*Dataset) (err error) {
func getDatasetAttachments(e Engine, typeCloudBrain int, rels ...*Dataset) (err error) {
if len(rels) == 0 {
return
}
@@ -223,6 +223,7 @@ func getDatasetAttachments(e Engine, rels ...*Dataset) (err error) {
err = e.
Asc("dataset_id").
In("dataset_id", sortedRels.ID).
And("type = ?", typeCloudBrain).
Find(&attachments, Attachment{})
if err != nil {
return err


+ 41
- 0
modules/modelarts/resty.go View File

@@ -151,6 +151,8 @@ sendjob:
goto sendjob
}

log.Info(string(res.Body()))

var response models.NotebookResult
err = json.Unmarshal(res.Body(), &response)
if err != nil {
@@ -244,3 +246,42 @@ sendjob:

return &result, nil
}

func GetJobToken(jobID string) (*models.NotebookGetJobTokenResult, error) {
checkSetting()
client := getRestyClient()
var result models.NotebookGetJobTokenResult

retry := 0

sendjob:
res, err := client.R().
SetHeader("Content-Type", "application/json").
SetAuthToken(TOKEN).
SetResult(&result).
Get(HOST + "/v1/" + setting.ProjectID + urlNotebook + "/" + jobID + "/token")

if err != nil {
return &result, fmt.Errorf("resty GetJobToken: %v", err)
}

if res.StatusCode() == http.StatusUnauthorized && retry < 1 {
retry++
_ = getToken()
goto sendjob
}

var response models.NotebookResult
err = json.Unmarshal(res.Body(), &response)
if err != nil {
log.Error("json.Unmarshal failed: %s", err.Error())
return &result, fmt.Errorf("son.Unmarshal failed: %s", err.Error())
}

if len(response.ErrorCode) != 0 {
log.Error("GetJobToken failed(%s): %s", response.ErrorCode, response.ErrorMsg)
return &result, fmt.Errorf("GetJobToken failed(%s): %s", response.ErrorCode, response.ErrorMsg)
}

return &result, nil
}

+ 6
- 8
routers/api/v1/repo/modelarts.go View File

@@ -9,6 +9,7 @@ import (
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/modules/modelarts"
"net/http"
)

func GetModelArtsTask(ctx *context.APIContext) {
@@ -23,18 +24,15 @@ func GetModelArtsTask(ctx *context.APIContext) {
ctx.NotFound(err)
return
}
_, err = modelarts.GetJob(jobID)
result, err := modelarts.GetJob(jobID)
if err != nil {
ctx.NotFound(err)
return
}

//ctx.JSON(http.StatusOK, map[string]interface{}{
// "JobID": result.Config.JobID,
// "JobStatus": result.JobStatus.State,
// "SubState": result.JobStatus.SubState,
// "CreatedTime": time.Unix(result.JobStatus.CreatedTime/1000, 0).Format("2006-01-02 15:04:05"),
// "CompletedTime": time.Unix(result.JobStatus.CompletedTime/1000, 0).Format("2006-01-02 15:04:05"),
//})
ctx.JSON(http.StatusOK, map[string]interface{}{
"JobID": jobID,
"JobStatus": result.Status,
})

}

+ 1
- 1
routers/repo/dataset.go View File

@@ -49,7 +49,7 @@ func DatasetIndex(ctx *context.Context) {
ctx.NotFound("GetDatasetByRepo", err)
return
}
err = models.GetDatasetAttachments(dataset)
err = models.GetDatasetAttachments(ctx.QueryInt("type"), dataset)
if err != nil {
ctx.ServerError("GetDatasetAttachments", err)
return


+ 16
- 1
routers/repo/modelarts.go View File

@@ -152,10 +152,25 @@ func ModelArtsDebug(ctx *context.Context) {
return
}

result, err := modelarts.GetJob(jobID)
if err != nil {
ctx.RenderWithErr(err.Error(), tplModelArtsIndex, nil)
return
}

res, err := modelarts.GetJobToken(jobID)
if err != nil {
ctx.RenderWithErr(err.Error(), tplModelArtsIndex, nil)
return
}

urlPrefix := result.Spec.Annotations.TargetDomain + "/modelarts/internal/hub/notebook/user/" + task.JobID

//https://console.ai.pcl.cn/modelarts/internal/hub/notebook/user/DE-afcdf674-6489-11eb-bfe7-0255ac100057/lab
//debugUrl := setting.DebugServerHost + "jpylab_" + task.JobID + "_" + task.SubTaskName
//debugUrl := setting.ModelArtsHost + "/modelarts/internal/hub/notebook/user/" + task.JobID + "/lab"
debugUrl := "https://console.ai.pcl.cn/modelarts/internal/hub/notebook/user/" + task.JobID + "/lab"
//debugUrl := "https://console.ai.pcl.cn/modelarts/internal/hub/notebook/user/" + task.JobID + "/lab"
debugUrl := urlPrefix + "?token=" + res.Token
ctx.Redirect(debugUrl)
}



Loading…
Cancel
Save