MCPcopy Create free account
hub / github.com/actiontech/dtle / buildJobDetailResp

Function buildJobDetailResp

api/handler/v2/job.go:1123–1153  ·  view source on GitHub ↗
(nomadJob nomadApi.Job, nomadAllocations []nomadApi.Allocation)

Source from the content-addressed store, hash-verified

1121}
1122
1123func buildJobDetailResp(nomadJob nomadApi.Job, nomadAllocations []nomadApi.Allocation) (destTaskDetail models.MysqlDestTaskDetail, srcTaskDetail models.SrcTaskDetail, err error) {
1124 taskGroupToNomadAlloc := make(map[string][]nomadApi.Allocation)
1125 for _, a := range nomadAllocations {
1126 taskGroupToNomadAlloc[a.TaskGroup] = append(taskGroupToNomadAlloc[a.TaskGroup], a)
1127 }
1128
1129 for _, tg := range nomadJob.TaskGroups {
1130 for _, t := range tg.Tasks {
1131 internalTaskConfig, err := convertTaskConfigMapToInternalTaskConfig(t.Config)
1132 if err != nil {
1133 return models.MysqlDestTaskDetail{}, models.SrcTaskDetail{}, fmt.Errorf("convert task config failed: %v", err)
1134 }
1135
1136 taskType := common.TaskTypeFromString(t.Name)
1137 switch taskType {
1138 case common.TaskTypeSrc:
1139 srcTaskDetail = buildSrcTaskDetail(
1140 common.TaskTypeSrc, internalTaskConfig, taskGroupToNomadAlloc[common.TaskTypeSrc])
1141 destTaskDetail = buildMysqlDestTaskDetail(
1142 common.TaskTypeDest, internalTaskConfig, taskGroupToNomadAlloc[common.TaskTypeDest])
1143 break
1144 case common.TaskTypeDest:
1145 break
1146 case common.TaskTypeUnknown:
1147 break
1148 }
1149 }
1150 }
1151
1152 return destTaskDetail, srcTaskDetail, nil
1153}
1154
1155func CreateOrUpdateSyncJobV2(c echo.Context, create bool) error {
1156 logger := handler.NewLogger().Named("CreateOrUpdateSyncJobV2")

Callers 2

getJobDetailFunction · 0.85
ReverseStartJobV2Function · 0.85

Calls 4

TaskTypeFromStringFunction · 0.92
buildSrcTaskDetailFunction · 0.85
buildMysqlDestTaskDetailFunction · 0.85

Tested by

no test coverage detected