Browse Source

提交任务代码

pull/9/head
tzwang 2 years ago
parent
commit
e73bb0505d
4 changed files with 61 additions and 19 deletions
  1. +4
    -3
      adaptor/slurm/slurmCore/api/internal/logic/submitjoblogic.go
  2. +3
    -6
      adaptor/slurm/slurmCore/api/internal/types/types.go
  3. +10
    -7
      adaptor/slurm/slurmCore/api/slurmCore.api
  4. +44
    -3
      adaptor/slurm/slurmShuguang/rpc/internal/logic/submitjoblogic.go

+ 4
- 3
adaptor/slurm/slurmCore/api/internal/logic/submitjoblogic.go View File

@@ -8,6 +8,7 @@ import (
"context"
"github.com/jinzhu/copier"
"github.com/pkg/errors"
"strconv"

"PCM/adaptor/slurm/slurmCore/api/internal/svc"
"PCM/adaptor/slurm/slurmCore/api/internal/types"
@@ -57,9 +58,9 @@ func (l *SubmitJobLogic) SubmitJob(req *types.SubmitJobReq) (resp *types.SubmitJ
return nil, errors.Wrapf(xerr.NewErrMsg("Failed to submit job to Tianhe"), "Failed to submit job to Tianhe err : %v ,req:%+v", err, req)
}

coreResp.Msg = string(tianheResp.SubmitResponseMsg[0].ErrorCode)
//coreResp.Code = tianheResp.SubmitResponseMsg[0].ErrorCode
//coreResp.Data = tianheResp.SubmitResponseMsg[0].JobId
coreResp.Msg = "success"
coreResp.Code = strconv.Itoa(int(tianheResp.SubmitResponseMsg[0].ErrorCode))
coreResp.Data = strconv.Itoa(int(tianheResp.SubmitResponseMsg[0].JobId))
}

return coreResp, nil


+ 3
- 6
adaptor/slurm/slurmCore/api/internal/types/types.go View File

@@ -266,12 +266,9 @@ type SubmitJobReq struct {
}

type SubmitJobResp struct {
Job_id int32 `json:"job_id"`
Step_id int32 `json:"step_id"`
Error_code int32 `json:"error_code"`
Code string `json:"code"`
Msg string `json:"msg"`
Data string `json:"data"`
Code string `json:"code"` //Error_code 返回码 in Tianhe
Msg string `json:"msg"`
Data string `json:"data"` //Job_id 作业id in Tianhe
}

type MapAppJobInfo struct {


+ 10
- 7
adaptor/slurm/slurmCore/api/slurmCore.api View File

@@ -190,11 +190,14 @@ type (

type (
submitJobReq {
SlurmVersion string `json:"slurmVersion"`
SlurmVersion string `json:"slurmVersion"`

/****************parmas from shuguang********************/
Apptype string `json:"apptype"`
Appname string `json:"appname"`
StrJobManagerID int64 `json:"strJobManagerID"`
MapAppJobInfo MapAppJobInfo `json:"mapAppJobInfo"`
/****************parmas from shuguang********************/

Account string `json:"account,omitempty"`
Acctg_freq string `json:"acctg_freq,omitempty"`
@@ -282,13 +285,13 @@ type (
}

submitJobResp {
Job_id int32 `json:"job_id"`
Step_id int32 `json:"step_id"`
Error_code int32 `json:"error_code"`
//Job_id int32 `json:"job_id"`
//Step_id int32 `json:"step_id"`
//Error_code int32 `json:"error_code"`

Code string `json:"code"`
Code string `json:"code"` //Error_code 返回码 in Tianhe
Msg string `json:"msg"`
Data string `json:"data"`
Data string `json:"data"` //Job_id 作业id in Tianhe
}

MapAppJobInfo {
@@ -351,7 +354,7 @@ service slurmcore-api {
post /scheduleTask (scheduleTaskReq) returns (scheduleTaskResp)
@handler submitJobHandler
post /submitJob (listHistoryJobReq) returns (listHistoryJobResp)
post /submitJob (submitJobReq) returns (submitJobResp)
@handler getRegionHandler
get /getRegion () returns (getRegionResp)


+ 44
- 3
adaptor/slurm/slurmShuguang/rpc/internal/logic/submitjoblogic.go View File

@@ -1,7 +1,15 @@
package logic

import (
"PCM/adaptor/slurm/slurmShuguang/rpc/internal/util"
"bytes"
"context"
"encoding/json"
"io/ioutil"
"log"
"net/http"
"strings"
"time"

"PCM/adaptor/slurm/slurmShuguang/rpc/internal/svc"
"PCM/adaptor/slurm/slurmShuguang/rpc/slurmShuguang"
@@ -26,9 +34,42 @@ func NewSubmitJobLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SubmitJ
func (l *SubmitJobLogic) SubmitJob(in *slurmShuguang.SubmitJobReq) (*slurmShuguang.SubmitJobResp, error) {
resp := &slurmShuguang.SubmitJobResp{}

resp.Msg = in.Appname
resp.Code = in.Appname
resp.Data = in.Appname
jobSubmitUrl := "hpc/openapi/v2/apptemplates/{apptype}/{appname}/job"
jobSubmitUrl = strings.Replace(jobSubmitUrl, "{apptype}", in.Apptype, -1)
jobSubmitUrl = strings.Replace(jobSubmitUrl, "{appname}", in.Appname, -1)

jsonStr, _ := json.Marshal(in)
req_url, err := http.NewRequest("POST", "https://api01.hpccube.com:65106/"+jobSubmitUrl, bytes.NewBuffer(jsonStr))

Gtoken := util.GetToken()
var token string
if util.GetTokenState(Gtoken) {
token = Gtoken
} else {
token = util.GetToken()
Gtoken = token
}

req_url.Header.Add("content-type", "application/json")
req_url.Header.Add("token", token)

if err != nil {
log.Fatal(err)
}
defer req_url.Body.Close()

c := http.Client{Timeout: time.Duration(3) * time.Second}
//c := &http.Client{Timeout: 5 * time.Second}

respUrl, err := c.Do(req_url)
defer respUrl.Body.Close()

if err != nil {
log.Fatal(err)
}

result, _ := ioutil.ReadAll(respUrl.Body)
json.Unmarshal([]byte(string(result)), &resp)

return resp, nil
}

Loading…
Cancel
Save