Browse Source

del job

tags/v0.1.8
yuyuanshifu 4 years ago
parent
commit
99c519faed
3 changed files with 50 additions and 2 deletions
  1. +4
    -0
      models/cloudbrain.go
  2. +39
    -0
      modules/modelarts/resty.go
  3. +7
    -2
      routers/repo/modelarts.go

+ 4
- 0
models/cloudbrain.go View File

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

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

func Cloudbrains(opts *CloudbrainsOptions) ([]*Cloudbrain, int64, error) {
sess := x.NewSession()
defer sess.Close()


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

@@ -205,3 +205,42 @@ sendjob:

return &result, nil
}

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

retry := 0

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

if err != nil {
return &result, fmt.Errorf("resty DelJob: %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("DelJob failed(%s): %s", response.ErrorCode, response.ErrorMsg)
return &result, fmt.Errorf("DelJob failed(%s): %s", response.ErrorCode, response.ErrorMsg)
}

return &result, nil
}

+ 7
- 2
routers/repo/modelarts.go View File

@@ -185,8 +185,6 @@ func ModelArtsStop(ctx *context.Context) {
return
}

log.Info("pre(%s), current(%s)", res.PreviousState, res.CurrentStatus)

task.Status = res.CurrentStatus
err = models.UpdateJob(task)
if err != nil {
@@ -211,6 +209,13 @@ func ModelArtsDel(ctx *context.Context) {
return
}

_, err = modelarts.DelJob(jobID)
if err != nil {
log.Error("DelJob(%s) failed:%v", task.JobName, err.Error())
ctx.ServerError("DelJob failed", err)
return
}

err = models.DeleteJob(task)
if err != nil {
ctx.ServerError("DeleteJob failed", err)


Loading…
Cancel
Save