diff --git a/sdks/pcmscheduler/models.go b/sdks/pcmscheduler/models.go index eb08aca..f9ce59a 100644 --- a/sdks/pcmscheduler/models.go +++ b/sdks/pcmscheduler/models.go @@ -107,6 +107,8 @@ const ( WaitBroadcast = "WaitBroadcast" Broadcast = "Broadcast" Wait = "Wait" + + FederatedLearning = "federatedLearning" ) type TaskID int64 diff --git a/sdks/scheduler/app.go b/sdks/scheduler/app.go index b7df0f9..8076d63 100644 --- a/sdks/scheduler/app.go +++ b/sdks/scheduler/app.go @@ -39,11 +39,14 @@ type AppInstance struct { CreatedAt time.Time `json:"createdAt"` // 创建时间 UpdatedAt time.Time `json:"updatedAt"` // 更新时间 DeletedAt time.Time `json:"-"` // 删除时间 + + //回显应用状态 + Status string `json:"status"` //应用状态 } type AppRunRecordDao struct { ID int64 `gorm:"primaryKey;autoIncrement;column:id" json:"id"` // 运行记录ID - AppInstanceID DataID `gorm:"column:app_instance_id;type:bigint;not null" json:"appInstanceID"` // 关联应用实例ID + AppInstanceID AppInstanceID `gorm:"column:app_instance_id;type:bigint;not null" json:"appInstanceID"` // 关联应用实例ID Content string `gorm:"column:content;type:text;default:null" json:"content"` // 运行内容 Status string `gorm:"column:status;type:varchar(100);not null" json:"status"` // 运行状态 RunLog string `gorm:"column:run_log;type:text;default:null" json:"runLog"` // 运行日志 @@ -57,7 +60,7 @@ type AppRunRecordDao struct { type AppRunRecord struct { ID int64 `gorm:"primaryKey;autoIncrement;column:id" json:"id"` // 运行记录ID - AppInstanceID DataID `gorm:"column:app_instance_id;type:bigint;not null" json:"appInstanceID"` // 关联应用实例ID + AppInstanceID AppInstanceID `gorm:"column:app_instance_id;type:bigint;not null" json:"appInstanceID"` // 关联应用实例ID Content AppInfo `gorm:"column:content;type:text;default:null" json:"content"` // 运行内容 Status string `gorm:"column:status;type:varchar(100);not null" json:"status"` // 运行状态 RunLog string `gorm:"column:run_log;type:text;default:null" json:"runLog"` // 运行日志 diff --git a/sdks/scheduler/app_models.go b/sdks/scheduler/app_models.go index a8e9855..e33e477 100644 --- a/sdks/scheduler/app_models.go +++ b/sdks/scheduler/app_models.go @@ -6,7 +6,9 @@ import ( "gitlink.org.cn/cloudream/common/utils/serder" ) -type AppInstanceID string +type AppInstanceID int64 + +type ParticipantID string type AppSetInfo struct { Apps []AppInfo `json:"apps"` @@ -43,22 +45,21 @@ type FederatedLearningAppInfo struct { AppInfoBase Type string `json:"type"` - AppInstanceID string `json:"appInstanceID"` - Name string `json:"name"` - Description string `json:"description"` + AppInstanceID AppInstanceID `json:"appInstanceID"` + Name string `json:"name"` + Description string `json:"description"` + + ParticipantCount int `json:"participantCount"` //参与者人数 + JobInfo JobInfo `json:"jobInfo"` //作业信息 + Role string `json:"role"` //角色,initiator/participant + IsDataReturn bool `json:"isDataReturn"` // 是否需要数据回源 + ParticipantInfo ParticipantInfo `json:"participantInfo"` + ParticipantIDs []ParticipantID `json:"participantIDs"` //参与者ID列表 + JoinedCount int64 `json:"joinedCount"` //已经参与的人数 +} - ParticipantCount int `json:"participantcount"` //参与者人数 - JobResources JobResources `json:"jobResources"` //作业资源 - JobInfo JobInfo `json:"jobInfo"` - ClientObjectID cdssdk.ObjectID `json:"clientObjectID"` //client代码 - ServerObjectID cdssdk.ObjectID `json:"serverObjectID"` //server代码 - ModelBindID cdssdk.ObjectID `json:"modelBindID"` //模型绑定id - DatasetBindID cdssdk.ObjectID `json:"datasetBindID"` //数据集绑定id - ImageBindID cdssdk.ObjectID `json:"imageBindID"` //镜像绑定id - JobSetID JobSetID `json:"jobSetID"` //工作集ID - Role string `json:"role"` //角色,initiator/participant - //DataReturnJobInfo DataReturnJobInfo `json:"dataReturnJobInfo"` //数据返回作业信息 - IsDataReturn bool `json:"isDataReturn"` +type ParticipantInfo struct { + DatasetBindID cdssdk.ObjectID `json:"datasetBindID"` //数据集绑定id } type OtherAppInfo struct { diff --git a/sdks/scheduler/models.go b/sdks/scheduler/models.go index 1a2c537..837eb0d 100644 --- a/sdks/scheduler/models.go +++ b/sdks/scheduler/models.go @@ -87,6 +87,13 @@ var _ = serder.UseTypeUnionInternallyTagged(&JobInfoTypeUnion, "type") type JobInfoBase struct { LocalJobID string `json:"localJobID"` TargetJob []TargetJobInfo `json:"targetJob"` + + TargetJobType TargetJobType `json:"targetJobType"` +} + +type TargetJobType struct { + JobType string `json:"jobType"` + InputParams map[string]string `json:"inputParams"` } type TargetJobInfo struct { @@ -781,6 +788,9 @@ type BroadcastWaitOutput struct { JobOutputBase Type string `json:"type"` Output JobOutput `json:"output"` + + // 下面是工作流的参数 + WaitIDs []Wait `json:"waitIDs"` } type UploadJobOutput struct {