Browse Source

优化工作流提交代码

pull/53/head
JeshuaRen 5 months ago
parent
commit
748e3ccc28
5 changed files with 58 additions and 48 deletions
  1. +5
    -2
      sdks/pcmscheduler/jobset.go
  2. +9
    -7
      sdks/pcmscheduler/models.go
  3. +14
    -4
      sdks/scheduler/models.go
  4. +1
    -1
      sdks/uploader/client.go
  5. +29
    -34
      sdks/uploader/uploader.go

+ 5
- 2
sdks/pcmscheduler/jobset.go View File

@@ -163,11 +163,14 @@ func (c *Client) CreateInferenceJob(req CreateAIJobReq, token string) (*CreateIn
}

type StopInferenceJobReq struct {
TaskId string `json:"taskId"`
AdapterID string `json:"adapterId"`
ClusterID schsdk.ClusterID `json:"clusterId"`
ID string `json:"id"`
InstanceID string `json:"instanceId"`
}

func (c *Client) StopInferenceJob(req StopInferenceJobReq, token string) error {
targetUrl, err := url.JoinPath(c.baseURL, "inference/createTask")
targetUrl, err := url.JoinPath(c.baseURL, "inference/stopDeployInstance")
if err != nil {
return err
}


+ 9
- 7
sdks/pcmscheduler/models.go View File

@@ -86,13 +86,15 @@ const (

Complete = "Complete"

NodeTypeBinding = "binding"
NodeTypeUpload = "upload"
NodeTypeDataReturn = "data_return"
NodeTypeHPCCreate = "hpc_create"
NodeTypeInference = "inference"
NodeTypeAICreate = "ai_job_create"
NodeTypeAIJobRun = "ai_job_run"
NodeTypeBinding = "binding"
NodeTypeUpload = "upload"
NodeTypeDataReturn = "data_return"
NodeTypeHPCCreate = "hpc_create"
NodeTypeInference = "inference"
NodeTypeInferenceStop = "inference_stop"
NodeTypeAICreate = "ai_job_create"
NodeTypeAIJobRun = "ai_job_run"
NodeTypeNotify = "notify"
)

type TaskID int64


+ 14
- 4
sdks/scheduler/models.go View File

@@ -27,8 +27,8 @@ const (
GPUUtilization = "GPUUtilization"
CPUUtilization = "CPUUtilization"

MethodPost = "POST"
MethodGet = "GET"
MethodPost = "post"
MethodGet = "get"
CodeSuccess = 200
)

@@ -682,6 +682,8 @@ var JobOutputTypeUnion = types.NewTypeUnion[JobOutput](
(*AIJobOutput)(nil),
(*BindingJobOutput)(nil),
(*UploadJobOutput)(nil),
(*HPCJobOutput)(nil),
(*NotifyJobOutput)(nil),
)

var _ = serder.UseTypeUnionInternallyTagged(&JobOutputTypeUnion, "type")
@@ -693,10 +695,18 @@ func (d *JobOutputBase) Output2() {}
type PublicOutput struct {
serder.Metadata `union:"object"`
JobOutputBase
Type string `json:"type"`
Type string `json:"type"`
Output string `json:"output"`
}

type NotifyJobOutput struct {
serder.Metadata `union:"Notify"`
JobOutputBase
Type string `json:"type"`
Output string `json:"output"`
}

type HPCOutput struct {
type HPCJobOutput struct {
serder.Metadata `union:"HPCSlurm"`
JobOutputBase
Type string `json:"type"`


+ 1
- 1
sdks/uploader/client.go View File

@@ -7,7 +7,7 @@ import (
)

type response[T any] struct {
Code int `json:"code"`
Code string `json:"code"`
Message string `json:"message"`
Data T `json:"data"`
}


+ 29
- 34
sdks/uploader/uploader.go View File

@@ -1,13 +1,8 @@
package uploadersdk

import (
"fmt"
"gitlink.org.cn/cloudream/common/sdks/storage/cdsapi"
"gitlink.org.cn/cloudream/common/utils/http2"
"gitlink.org.cn/cloudream/common/utils/serder"
"mime/multipart"
"net/url"
"strings"
)

type ObjectUploadReq struct {
@@ -15,32 +10,32 @@ type ObjectUploadReq struct {
Files []*multipart.FileHeader `form:"files"`
}

func (c *Client) Upload(req ObjectUploadReq) (*cdsapi.ObjectUploadResp, error) {
targetUrl, err := url.JoinPath(c.baseURL, "/object/upload")
if err != nil {
return nil, err
}
resp, err := http2.PostJSON(targetUrl, http2.RequestParam{
Body: req,
})
if err != nil {
return nil, err
}
contType := resp.Header.Get("Content-Type")
if strings.Contains(contType, http2.ContentTypeJSON) {
var codeResp response[cdsapi.ObjectUploadResp]
if err := serder.JSONToObjectStream(resp.Body, &codeResp); err != nil {
return nil, fmt.Errorf("parsing response: %w", err)
}
if codeResp.Code == ResponseCodeOK {
return &codeResp.Data, nil
}
return nil, codeResp.ToError()
}
return nil, fmt.Errorf("unknow response content type: %s", contType)
}
//func (c *Client) Upload(req ObjectUploadReq) (*cdsapi.ObjectUploadResp, error) {
// targetUrl, err := url.JoinPath(c.baseURL, "/object/upload")
// if err != nil {
// return nil, err
// }
//
// resp, err := http2.PostJSON(targetUrl, http2.RequestParam{
// Body: req,
// })
// if err != nil {
// return nil, err
// }
//
// contType := resp.Header.Get("Content-Type")
// if strings.Contains(contType, http2.ContentTypeJSON) {
// var codeResp response[cdsapi.ObjectUploadResp]
// if err := serder.JSONToObjectStream(resp.Body, &codeResp); err != nil {
// return nil, fmt.Errorf("parsing response: %w", err)
// }
//
// if codeResp.Code == errorcode.OK {
// return &codeResp.Data, nil
// }
//
// return nil, codeResp.ToError()
// }
//
// return nil, fmt.Errorf("unknow response content type: %s", contType)
//}

Loading…
Cancel
Save