Browse Source

优化工作流输出代码

pull/52/head
JeshuaRen 6 months ago
parent
commit
4e1a3cb880
2 changed files with 59 additions and 16 deletions
  1. +8
    -5
      sdks/scheduler/jobflow.go
  2. +51
    -11
      sdks/scheduler/models.go

+ 8
- 5
sdks/scheduler/jobflow.go View File

@@ -69,11 +69,12 @@ type JobFlow struct {
}

type JobFlowRunStatus struct {
RunID JobSetID `gorm:"column:run_id;primaryKey" json:"runID"`
NodeType string `gorm:"column:node_type;size:100" json:"nodeType"`
NodeID string `gorm:"column:node_id;size:255" json:"nodeID"`
Status string `gorm:"column:status;type:enum('pending','running','fail','success')" json:"status"`
RunLog string `gorm:"column:run_log;type:text" json:"runLog"`
RunID JobSetID `gorm:"column:run_id;primaryKey" json:"runID"`
NodeType string `gorm:"column:node_type;size:100" json:"nodeType"`
NodeID string `gorm:"column:node_id;size:255" json:"nodeID"`
Status string `gorm:"column:status;type:enum('pending','running','fail','success')" json:"status"`
RunOutput string `gorm:"column:run_output;type:text" json:"runOutput"`
RunLog string `gorm:"column:run_log;type:text" json:"runLog"`
}

type JobFlowRunDAO struct {
@@ -84,6 +85,7 @@ type JobFlowRunDAO struct {
Content string `gorm:"column:content;type:text" json:"content"`
Status string `gorm:"column:status;type:enum('running','fail','success')" json:"status"`
CreatedAt time.Time `gorm:"column:created_at;autoCreateTime" json:"createdAt"`
FinishAt *time.Time `gorm:"column:finish_at" json:"finishedAt"`
}

type JobFlowRun struct {
@@ -94,4 +96,5 @@ type JobFlowRun struct {
Content FlowData `gorm:"column:content;type:text" json:"content"`
Status string `gorm:"column:status;type:enum('running','fail','success')" json:"status"`
CreatedAt time.Time `gorm:"column:created_at;autoCreateTime" json:"createdAt"`
FinishAt *time.Time `gorm:"column:finish_at" json:"finishedAt"`
}

+ 51
- 11
sdks/scheduler/models.go View File

@@ -134,8 +134,7 @@ type PCMInferenceJobInfo struct {
Description string `json:"description"`
Files JobFilesInfo `json:"files"`
JobResources JobResources `json:"jobResources"`

BindingName string `json:"bindingName"`
BindingID DataID `json:"bindingID"`
}

type AIJobInfo struct {
@@ -408,15 +407,6 @@ type DataReturnJobInfo struct {
ReportMessage []ReportMessage `json:"reportMessage"`
}

type ReportMessage struct {
TaskName string `json:"taskName"`
TaskID string `json:"taskID"`
Status bool `json:"status"`
Message string `json:"message"`
ClusterID ClusterID `json:"clusterID"`
Output string `json:"output"`
}

// MultiInstanceJobInfo 多实例(推理任务)
type MultiInstanceJobInfo struct {
serder.Metadata `union:"MultiInstance"`
@@ -629,3 +619,53 @@ type InferencePlatform struct {
SimilarityThreshold string `json:"similarityThreshold"`
EntriesPerFile string `json:"entriesPerFile"`
}

type JobOutput interface {
Output()
}

var JobOutputTypeUnion = types.NewTypeUnion[JobOutput](
(*AIJobOutput)(nil),
(*BindingJobOutput)(nil),
)

var _ = serder.UseTypeUnionInternallyTagged(&JobOutputTypeUnion, "type")

type JobOutputBase struct{}

func (d *JobOutputBase) Output() {}

type PublicOutput struct {
serder.Metadata `union:"object"`
JobOutputBase
Type string `json:"type"`
}

type AIJobOutput struct {
serder.Metadata `union:"object"`
JobOutputBase
Type string `json:"type"`
}

type BindingJobOutput struct {
serder.Metadata `union:"binding"`
JobOutputBase
Type string `json:"type"`
BindingID DataID `json:"bindingID"`
}

type DataReturnJobOutput struct {
serder.Metadata `union:"DataReturn"`
JobOutputBase
Type string `json:"type"`
ReportMessage []ReportMessage `json:"reportMessage"`
}

type ReportMessage struct {
TaskName string `json:"taskName"`
TaskID string `json:"taskID"`
Status bool `json:"status"`
Message string `json:"message"`
ClusterID ClusterID `json:"clusterID"`
Output string `json:"output"`
}

Loading…
Cancel
Save