added schedule apis

Former-commit-id: eed1ae30dd41e40fc141401024811f7756d09f2c
This commit is contained in:
tzwang 2024-02-05 13:01:45 +08:00
parent 7ff38eb22f
commit ceaad28539
13 changed files with 455 additions and 127 deletions

View File

@ -28,87 +28,87 @@ service pcm {
@doc "查询P端服务列表"
@handler participantListHandler
get /core/participantList returns (participantListResp)
@doc "yaml提交任务"
@handler scheduleTaskByYamlHandler
post /core/scheduleTaskByYaml (scheduleTaskByYamlReq)
@doc "提交任务"
@handler commitTaskHandler
post /core/commitTask (commitTaskReq)
@doc "提交超算任务"
@handler commitHpcTaskHandler
post /core/commitHpcTask (commitHpcTaskReq) returns (commitHpcTaskResp)
@doc "提交虚拟机任务"
@handler commitVmTaskHandler
post /core/commitVmTask (commitVmTaskReq) returns (commitVmTaskResp)
@doc "删除任务"
@handler deleteTaskHandler
delete /core/deleteTask/:id (deleteTaskReq)
@doc "查询任务列表"
@handler TaskListHandler
get /core/taskList (taskListReq) returns (taskListResp)
@doc "查询任务详情"
@handler TaskDetailHandler
get /core/taskDetail/:taskId (taskDetailReq) returns (taskDetailResp)
@doc "任务概览"
@handler JobTotalHandler
get /core/jobTotal returns (jobTotalResp)
@doc "数据中心概览"
@handler listCenterHandler
get /core/listCenter returns (listCenterResp)
@doc "查询集群列表"
@handler listClusterHandler
get /core/listCluster/:centerId (listClusterReq) returns (listClusterResp)
@doc "提交任务(超算)"
@handler submitJobHandler
post /core/submitJob (submitJobReq) returns (submitJobResp)
@doc "获取region"
@handler getRegionHandler
get /core/getRegion returns (getRegionResp)
@doc "获取region列表"
@handler listRegionHandler
get /core/listRegion returns (listRegionResp)
@doc "查询算力"
@handler getComputingPowerHandler
get /core/getComputingPower returns (cpResp)
@doc "查询通用信息"
@handler getGeneralInfoHandler
get /core/getGeneralInfo returns (GiResp)
@doc "查询各域资源信息"
@handler listDomainResourceHandler
get /core/listDomainResource returns (DomainResourceResp)
@doc "查询控制面板配置信息"
@handler getResourcePanelConfigHandler
get /core/getResourcePanelConfigHandler returns (ResourcePanelConfigResp)
@doc "设置控制面板配置信息"
@handler putResourcePanelConfigHandler
put /core/resourcePanelConfigHandler (ResourcePanelConfigReq)
@doc "获取算力统计信息"
@handler getComputilityStatisticsHandler
get /core/getComputilityStatistics returns (ComputilityStatisticsResp)
@doc "获取节点资产"
@handler nodeAssetsHandler
get /core/assets returns (NodeAssetsResp)
@doc "Center Resources top3"
@handler centerResourcesHandler
get /core/centerResources returns (centerResourcesResp)
@ -123,11 +123,11 @@ service pcm {
@doc "超算查询任务列表"
@handler listJobHandler
get /hpc/listJob (listJobReq) returns (listJobResp)
@doc "超算查询历史任务列表"
@handler listHistoryJobHandler
get /hpc/listHistoryJob (listHistoryJobReq) returns (listHistoryJobResp)
@doc "超算查询资产列表"
@handler queueAssetsHandler
get /queue/assets returns (QueueAssetsResp)
@ -142,35 +142,35 @@ service pcm {
@doc "云算任务列表"
@handler cloudListHandler
get /task/list returns (cloudListResp)
@doc "yaml删除"
@handler deleteYamlHandler
get /cloud/DeleteYaml (ApplyReq) returns (DeleteResp)
@doc "控制器监控"
@handler controllerMetricsHandler
get /cloud/controller/Metrics (ControllerMetricsReq) returns (ControllerMetricsResp)
@doc "数算集群注册"
@handler registerClusterHandler
post /cloud/registerCluster (RegisterClusterReq) returns (CloudResp)
@doc "数算集群删除"
@handler deleteClusterHandler
post /cloud/deleteCluster (deleteClusterReq) returns (CloudResp)
@doc "触发租户更新"
@handler noticeTenantHandler
get /cloud/noticeTenant returns (CloudResp)
@doc "租户更新"
@handler updateTenantHandler
post /cloud/updateTenant (UpdateTenantReq) returns (CloudResp)
@doc "Obtain cluster list information according to adapterId"
@handler getClusterListHandler
get /core/clusterList (getClusterListReq) returns (getClusterListResp)
}
//智算二级接口
@ -182,114 +182,114 @@ service pcm {
@doc "查询数据集列表"
@handler listDataSetHandler
get /ai/listDataSet/:projectId (DataSetReq) returns (DataSetResp)
@doc "创建数据集"
@handler CreateDataSetHandler
post /ai/createDataSet/:projectId (CreateDataSetReq) returns (CreateDataSetResp)
@doc "删除数据集"
@handler DeleteDataSetHandler
delete /ai/deleteDataSet/:projectId/:datasetId (DeleteDataSetReq) returns (DeleteDataSetResp)
@doc "创建导入任务"
@handler CreateTaskHandler
post /ai/CreateTask/:projectId/:datasetId (ImportTaskDataReq) returns (ImportTaskDataResp)
@doc "查询数据集导入任务列表"
@handler ListImportHandler
get /ai/ListImport/:projectId/:datasetId (ListImportTasksReq) returns (ListImportTasksResp)
@doc "查询训练作业列表"
@handler GetListTrainingJobsHandler
get /ai/GetListTrainingJobs/:projectId (ListTrainingJobsreq) returns (ListTrainingJobsresp)
@doc "删除训练作业"
@handler DeleteTrainingJobHandler
delete /ai/DeleteTrainingJob/:projectId/:trainingJobId (DeleteTrainingJobReq) returns (DeleteTrainingJobResp)
@doc "创建算法"
@handler CreateAlgorithmHandler
post /ai/CreateAlgorithm/:projectId (CreateAlgorithmReq) returns (CreateAlgorithmResp)
@doc "查询创建算法列表"
@handler ListAlgorithms
get /ai/ListAlgorithms/:projectId (ListAlgorithmsReq) returns (ListAlgorithmsResp)
@doc "删除算法"
@handler DeleteAlgorithm
delete /ai/DeleteAlgorithm/:projectId/:algorithmId (DeleteAlgorithmReq) returns (DeleteAlgorithmResp)
@doc "创建训练作业"
@handler CreateTrainingJobHandler
post /ai/CreateTrainingJob/:projectId (CreateTrainingJobReq) returns (CreateTrainingJobResp)
@doc "展示算法详情"
@handler ShowAlgorithmByUuid
get /ai/ShowAlgorithmByUuid/:projectId/:algorithmId (ShowAlgorithmByUuidReq) returns (ShowAlgorithmByUuidResp)
@doc "创建导出任务"
@handler CreateExportTaskHandler
post /ai/CreateExportTask/:projectId/:datasetId (CreateExportTaskReq) returns (ExportTaskDataResp)
@doc "获取导出任务数据集"
@handler GetExportTasksOfDatasetHandler
get /ai/GetExportTasksOfDataset/:projectId/:datasetId (GetExportTasksOfDatasetReq) returns (GetExportTasksOfDatasetResp)
@doc "获取导出任务数据集状态"
@handler GetExportTaskStatusOfDatasetHandler
get /ai/GetExportTaskStatusOfDataset/:projectId/:resourceId/:taskId (GetExportTaskStatusOfDatasetReq) returns (GetExportTaskStatusOfDatasetResp)
@doc "创建处理任务"
@handler CreateProcessorTaskHandler
post /ai/CreateProcessorTask (CreateProcessorTaskReq) returns (CreateProcessorTaskResp)
@doc "创建服务"
@handler CreateServiceHandler
post /ai/CreateService/:projectId (CreateServiceReq) returns (CreateServiceResp)
@doc "展示服务"
@handler ListServicesHandler
get /ai/ListServices/:projectId (ListServicesReq) returns (ListServicesResp)
@doc "展示服务详情"
@handler ShowServiceHandler
get /ai/ShowService/:projectId/:serviceId (ShowServiceReq) returns (ShowServiceResp)
@doc "删除服务"
@handler DeleteServiceHandler
delete /ai/DeleteService/:projectId/:serviceId (DeleteServiceReq) returns (DeleteServiceResp)
@doc "查询专属资源池列表"
@handler ListClustersHandler
get /ai/ListClusters (ListClustersReq) returns (ListClustersResp)
/******************Notebook Method start*************************/
@doc "查询notebook列表"
@handler listNotebookHandler
get /ai/listNotebook (ListNotebookReq) returns (ListNotebookResp)
@doc "创建notebook"
@handler createNotebookHandler
post /ai/createNotebook (CreateNotebookReq) returns (CreateNotebookResp)
@doc "启动notebook"
@handler startNotebookHandler
post /ai/startNotebook (StartNotebookReq) returns (StartNotebookResp)
@doc "停止notebook"
@handler stopNotebookHandler
post /ai/stopNotebook (StopNotebookReq) returns (StopNotebookResp)
@doc "查询notebook存储"
@handler getNotebookStorageHandler
get /ai/getNotebookStorage (GetNotebookStorageReq) returns (GetNotebookStorageResp)
@doc "挂载notebook存储"
@handler mountNotebookStorageHandler
post /ai/mountNotebookStorage (MountNotebookStorageReq) returns (MountNotebookStorageResp)
/******************Notebook Method end*************************/
/******************Visualization Job Method start*************************/
@doc "获取虚拟化任务"
@handler getVisualizationJobHandler
@ -326,19 +326,19 @@ service pcm {
@doc "镜像上传"
@handler uploadHandler
post /upload
@doc "镜像分块"
@handler chunkHandler
post /chunk
@doc "查询镜像列表"
@handler imageListHandler
get /image/list returns (imageListResp)
@doc "数据集检查"
@handler dataSetCheckHandler
get /dataSet/check/:fileMd5 (checkReq) returns (checkResp)
@doc "上传数据集"
@handler uploadDataSetHandler
post /dataSet/upload
@ -353,147 +353,147 @@ service pcm {
@doc "openstack计算中心概览"
@handler GetComputeLimitsHandler
get /vm/getComputeLimits (GetComputeLimitsReq) returns (GetComputeLimitsResp)
@doc "查询卷列表"
@handler GetVolumeLimitsHandler
get /vm/getVolumeLimits (GetVolumeLimitsReq) returns (GetVolumeLimitsResp)
@doc "查询虚拟机列表"
@handler ListServerHandler
get /vm/listServer (ListServersReq) returns (ListServersResp)
@doc "查询虚拟机详情列表"
@handler ListServersDetailedHandler
get /vm/listServersDetailed (ListServersDetailedReq) returns (ListServersDetailedResp)
@doc "删除虚拟机"
@handler DeleteServerHandler
delete /vm/deleteServer (DeleteServerReq) returns (DeleteServerResp)
@doc "创建虚拟机"
@handler CreateServerHandler
post /vm/createServer (CreateServerReq) returns (CreateServerResp)
@doc "根据ID查询虚拟机详情"
@handler GetServersDetailedByIdHandler
get /vm/getServersDetailedById (GetServersDetailedByIdReq) returns (GetServersDetailedByIdResp)
@doc "更新虚拟机"
@handler UpdateServerHandler
put /vm/updateServer (UpdateServerReq) returns (UpdateServerResp)
@doc "启动虚拟机"
@handler StartServerHandler
post /vm/startServer (StartServerReq) returns (StartServerResp)
@doc "停止虚拟机"
@handler StopServerHandler
post /vm/stopServer (StopServerReq) returns (StopServerResp)
@doc "重启虚拟机"
@handler RebootServerHandler
post /vm/rebootServer (RebootServerReq) returns (RebootServerResp)
@doc "暂停虚拟机"
@handler PauseServerHandler
post /vm/pauseServer (PauseServerReq) returns (PauseServerResp)
@doc "查询镜像列表"
@handler ListImagesHandler
get /vm/listImages (ListImagesReq) returns (ListImagesResp)
@doc "删除镜像"
@handler DeleteImageHandler
delete /vm/deleteImage (DeleteImageReq) returns (DeleteImageResp)
@doc "创建镜像"
@handler CreateImageHandler
post /vm/createImage (CreateImageReq) returns (CreateImageResp)
@doc "上传镜像"
@handler UploadImageHandler
put /vm/uploadImage (UploadOsImageReq) returns (UploadOsImageResp)
@doc "查询网络列表"
@handler ListNetworksHandler
get /vm/listNetworks (ListNetworksReq) returns (ListNetworksResp)
@doc "删除网络"
@handler DeleteNetworkHandler
delete /vm/deleteNetwork (DeleteNetworkReq) returns (DeleteNetworkResp)
@doc "创建网络"
@handler CreateNetworkHandler
post /vm/createNetwork (CreateNetworkReq) returns (CreateNetworkResp)
@doc "创建子网"
@handler CreateSubnetHandler
post /vm/createSubnet (CreateSubnetReq) returns (CreateSubnetResp)
@doc "查询网络详情"
@handler ShowNetworkDetailsHandler
get /vm/showNetworkDetails (ShowNetworkDetailsReq) returns (ShowNetworkDetailsResp)
@doc "更新网络"
@handler UpdateNetworkHandler
put /vm/updateNetwork (UpdateNetworkReq) returns (UpdateNetworkResp)
@doc "批量创建网络"
@handler BulkCreateNetworksHandler
post /vm/bulkCreateNetworks (BulkCreateNetworksReq) returns (BulkCreateNetworksResp)
@doc "查询卷详情列表"
@handler ListVolumesDetailHandler
get /vm/listVolumesDetail (ListVolumesDetailReq) returns (ListVolumesDetailResp)
@doc "删除卷"
@handler DeleteVolumeHandler
delete /vm/deleteVolume (DeleteVolumeReq) returns (DeleteVolumeResp)
@doc "创建卷"
@handler CreateVolumeHandler
post /vm/createVolume (CreateVolumeReq) returns (CreateVolumeResp)
@doc "查询规格详情列表"
@handler ListFlavorsDetailHandler
get /vm/listFlavorsDetail (ListFlavorsDetailReq) returns (ListFlavorsDetailResp)
@doc "查询规格类型列表"
@handler ListVolumeTypesHandler
get /vm/listVolumeTypes (ListVolumeTypesReq) returns (ListVolumeTypesResp)
@doc "更新卷"
@handler UpdateVolumeHandler
put /vm/updateVolume (UpdateVolumeReq) returns (UpdateVolumeResp)
@doc "创建卷类型"
@handler CreateVolumeTypesHandler
post /vm/createVolumeTypes (CreateVolumeTypeReq) returns (CreateVolumeTypeResp)
@doc "删除卷类型"
@handler DeleteVolumeTypeHandler
delete /vm/deleteVolumeType (DeleteVolumeTypeReq) returns (DeleteVolumeTypeResp)
@doc "查询卷列表"
@handler ListVolumesHandler
get /vm/listVolumes (ListVolumesReq) returns (ListVolumesResp)
@doc "根据ID获取卷详情"
@handler GetVolumeDetailedByIdHandler
get /vm/getVolumeDetailedById (GetVolumeDetailedByIdReq) returns (GetVolumeDetailedByIdResp)
@doc "查询节点列表"
@handler ListNodesHandler
get /vm/listNodes (ListNodesReq) returns (ListNodesResp)
@doc "创建节点"
@handler CreateNodeHandler
post /vm/createNode (CreateNodeReq) returns (CreateNodeResp)
@doc "删除节点"
@handler DeleteNodeHandler
delete /vm/deleteNode (DeleteNodeReq) returns (DeleteNodeResp)
@doc "查询节点详情"
@handler ShowNodeDetailsHandler
get /vm/showNodeDetails (ShowNodeDetailsReq) returns (ShowNodeDetailsResp)
@ -508,25 +508,25 @@ service pcm {
service pcm {
@handler UploadLinkImageHandler
post /storelink/uploadImage (UploadLinkImageReq) returns (UploadLinkImageResp)
@handler GetLinkImageListHandler
get /storelink/getImageList (GetLinkImageListReq) returns (GetLinkImageListResp)
@handler DeleteLinkImageHandler
delete /storelink/deleteImage (DeleteLinkImageReq) returns (DeleteLinkImageResp)
@handler SubmitLinkTaskHandler
post /storelink/submitTask (SubmitLinkTaskReq) returns (SubmitLinkTaskResp)
@handler GetLinkTaskHandler
get /storelink/getTask (GetLinkTaskReq) returns (GetLinkTaskResp)
@handler DeleteLinkTaskHandler
delete /storelink/deleteTask (DeleteLinkTaskReq) returns (DeleteLinkTaskResp)
@handler GetParticipantsHandler
get /storelink/getParticipants (GetParticipantsReq) returns (GetParticipantsResp)
@handler GetAISpecsHandler
get /storelink/getResourceSpecs (GetResourceSpecsReq) returns (GetResourceSpecsResp)
}
@ -540,35 +540,35 @@ service pcm {
@doc "应用列表"
@handler AppListHandler
get /apps/list (AppListReq) returns (AppListResp)
@doc "获取应用分发详情"
@handler AppDetailHandler
get /apps/distribute/:appName (AppDetailReq) returns (AppDetailResp)
@doc "应用pods列表"
@handler AppPodsHandler
get /apps/pods/:appName (AppDetailReq) returns (AppDetailResp)
@doc "获取应用详情"
@handler GetAppByAppName
get /apps/getAppByAppName/:appName (AppDetailReq) returns (AppTaskResp)
@doc "删除应用"
@handler DeleteAppByAppName
delete /apps/deleteApp (DeleteAppReq) returns (DeleteAppResp)
@doc "更新应用"
@handler UpdateAppByAppName
put /apps/updateApp (DeleteAppReq) returns (AppTaskResp)
@doc "重启应用"
@handler RestartAppByAppName
put /apps/restartApp (DeleteAppReq) returns (AppResp)
@doc "暂停应用"
@handler PauseAppByAppName
put /apps/pauseApp (DeleteAppReq) returns (AppResp)
@doc "启动应用"
@handler StartAppByAppName
put /apps/startApp (DeleteAppReq) returns (AppResp)
@ -583,31 +583,31 @@ service pcm {
service pcm {
@handler AdaptersListHandler
get /adapter/list (AdapterReq) returns (AdapterListResp)
@handler CreateAdapterHandler
post /adapter/create (AdapterReq) returns (AdapterResp)
@handler UpdateAdapterHandler
put /adapter/update (AdapterReq) returns (AdapterResp)
@handler DeleteAdapterHandler
delete /adapter/delete (AdapterDelReq) returns (AdapterResp)
@handler GetAdapterHandler
get /adapter/get (AdapterDelReq) returns (AdapterResp)
@handler ClusterListHandler
get /adapter/cluster/list (ClusterReq) returns (ClusterListResp)
@handler CreateClusterHandler
post /adapter/cluster/create (ClusterReq) returns (ClusterResp)
@handler UpdateClusterHandler
put /adapter/cluster/update (ClusterReq) returns (ClusterResp)
@handler DeleteClusterHandler
delete /adapter/cluster/delete (ClusterDelReq) returns (ClusterResp)
@handler GetClusterHandler
get /adapter/cluster/get (ClusterDelReq) returns (ClusterResp)
}
@ -620,16 +620,16 @@ service pcm {
service pcm {
@handler ScheduleGetAiResourceTypesHandler
get /schedule/ai/getResourceTypes returns (AiResourceTypesResp)
@handler ScheduleGetAiTaskTypesHandler
get /schedule/ai/getTaskTypes returns (AiTaskTypesResp)
@handler ScheduleGetDatasetsHandler
get /schedule/ai/getDatasets returns (AiDatasetsResp)
@handler ScheduleGetStrategyHandler
get /schedule/ai/getStrategies returns (AiStrategyResp)
@handler ScheduleSubmitHandler
post /schedule/submit (ScheduleResp) returns (ScheduleResp)
}

View File

@ -11,6 +11,7 @@ import (
core "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/handler/core"
hpc "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/handler/hpc"
image "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/handler/image"
schedule "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/handler/schedule"
storage "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/handler/storage"
storelink "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/handler/storelink"
vm "gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/handler/vm"
@ -749,4 +750,35 @@ func RegisterHandlers(server *rest.Server, serverCtx *svc.ServiceContext) {
},
rest.WithPrefix("/pcm/v1"),
)
server.AddRoutes(
[]rest.Route{
{
Method: http.MethodGet,
Path: "/schedule/ai/getResourceTypes",
Handler: schedule.ScheduleGetAiResourceTypesHandler(serverCtx),
},
{
Method: http.MethodGet,
Path: "/schedule/ai/getTaskTypes",
Handler: schedule.ScheduleGetAiTaskTypesHandler(serverCtx),
},
{
Method: http.MethodGet,
Path: "/schedule/ai/getDatasets",
Handler: schedule.ScheduleGetDatasetsHandler(serverCtx),
},
{
Method: http.MethodGet,
Path: "/schedule/ai/getStrategies",
Handler: schedule.ScheduleGetStrategyHandler(serverCtx),
},
{
Method: http.MethodPost,
Path: "/schedule/submit",
Handler: schedule.ScheduleSubmitHandler(serverCtx),
},
},
rest.WithPrefix("/pcm/v1"),
)
}

View File

@ -0,0 +1,21 @@
package schedule
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/schedule"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
)
func ScheduleGetAiResourceTypesHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
l := schedule.NewScheduleGetAiResourceTypesLogic(r.Context(), svcCtx)
resp, err := l.ScheduleGetAiResourceTypes()
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,21 @@
package schedule
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/schedule"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
)
func ScheduleGetAiTaskTypesHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
l := schedule.NewScheduleGetAiTaskTypesLogic(r.Context(), svcCtx)
resp, err := l.ScheduleGetAiTaskTypes()
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,21 @@
package schedule
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/schedule"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
)
func ScheduleGetDatasetsHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
l := schedule.NewScheduleGetDatasetsLogic(r.Context(), svcCtx)
resp, err := l.ScheduleGetDatasets()
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,21 @@
package schedule
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/schedule"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
)
func ScheduleGetStrategyHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
l := schedule.NewScheduleGetStrategyLogic(r.Context(), svcCtx)
resp, err := l.ScheduleGetStrategy()
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,28 @@
package schedule
import (
"net/http"
"github.com/zeromicro/go-zero/rest/httpx"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/logic/schedule"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
)
func ScheduleSubmitHandler(svcCtx *svc.ServiceContext) http.HandlerFunc {
return func(w http.ResponseWriter, r *http.Request) {
var req types.ScheduleResp
if err := httpx.Parse(r, &req); err != nil {
httpx.ErrorCtx(r.Context(), w, err)
return
}
l := schedule.NewScheduleSubmitLogic(r.Context(), svcCtx)
resp, err := l.ScheduleSubmit(&req)
if err != nil {
httpx.ErrorCtx(r.Context(), w, err)
} else {
httpx.OkJsonCtx(r.Context(), w, resp)
}
}
}

View File

@ -0,0 +1,30 @@
package schedule
import (
"context"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type ScheduleGetAiResourceTypesLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewScheduleGetAiResourceTypesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ScheduleGetAiResourceTypesLogic {
return &ScheduleGetAiResourceTypesLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *ScheduleGetAiResourceTypesLogic) ScheduleGetAiResourceTypes() (resp *types.AiResourceTypesResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@ -0,0 +1,30 @@
package schedule
import (
"context"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type ScheduleGetAiTaskTypesLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewScheduleGetAiTaskTypesLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ScheduleGetAiTaskTypesLogic {
return &ScheduleGetAiTaskTypesLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *ScheduleGetAiTaskTypesLogic) ScheduleGetAiTaskTypes() (resp *types.AiTaskTypesResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@ -0,0 +1,30 @@
package schedule
import (
"context"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type ScheduleGetDatasetsLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewScheduleGetDatasetsLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ScheduleGetDatasetsLogic {
return &ScheduleGetDatasetsLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *ScheduleGetDatasetsLogic) ScheduleGetDatasets() (resp *types.AiDatasetsResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@ -0,0 +1,30 @@
package schedule
import (
"context"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type ScheduleGetStrategyLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewScheduleGetStrategyLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ScheduleGetStrategyLogic {
return &ScheduleGetStrategyLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *ScheduleGetStrategyLogic) ScheduleGetStrategy() (resp *types.AiStrategyResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@ -0,0 +1,30 @@
package schedule
import (
"context"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/svc"
"gitlink.org.cn/jcce-pcm/pcm-coordinator/api/internal/types"
"github.com/zeromicro/go-zero/core/logx"
)
type ScheduleSubmitLogic struct {
logx.Logger
ctx context.Context
svcCtx *svc.ServiceContext
}
func NewScheduleSubmitLogic(ctx context.Context, svcCtx *svc.ServiceContext) *ScheduleSubmitLogic {
return &ScheduleSubmitLogic{
Logger: logx.WithContext(ctx),
ctx: ctx,
svcCtx: svcCtx,
}
}
func (l *ScheduleSubmitLogic) ScheduleSubmit(req *types.ScheduleResp) (resp *types.ScheduleResp, err error) {
// todo: add your logic here and delete this line
return
}

View File

@ -3736,3 +3736,37 @@ type ParticipantSl struct {
ParticipantName string `json:"name"`
ParticipantType string `json:"type"`
}
type ScheduleReq struct {
AiOption *AiOption `json:"aiOption,optional"`
}
type ScheduleResp struct {
Success bool `json:"success"`
TaskId string `json:"taskId"`
ClusterId string `json:"clusterId"`
ErrorMsg string `json:"errorMsg"`
}
type AiOption struct {
ResourceType string `json:"resourceType"`
TaskType string `json:"taskType"`
Datasets string `json:"datasets"`
Strategy string `json:"strategy"`
}
type AiResourceTypesResp struct {
ResourceTypes []string `json:"resourceTypes"`
}
type AiTaskTypesResp struct {
TaskTypes []string `json:"taskTypes"`
}
type AiDatasetsResp struct {
Datasets []string `json:"datasets"`
}
type AiStrategyResp struct {
Strategies []string `json:"strategies"`
}