fix: update taskai 0625
Former-commit-id: 1e45411185ec160a4d2bd2bb0dac1d8f11982990
This commit is contained in:
parent
3363408433
commit
ac683e2329
|
@ -1,4 +1,4 @@
|
|||
FROM golang:1.22-alpine3.18 AS builder
|
||||
FROM golang:1.22.4-alpine3.20 AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
@ -9,7 +9,7 @@ RUN go env -w GO111MODULE=on \
|
|||
&& go env -w CGO_ENABLED=0
|
||||
RUN go build -o pcm-coordinator-api /app/api/pcm.go
|
||||
|
||||
FROM alpine:3.18
|
||||
FROM alpine:3.20
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@ MaxBytes: 524288000
|
|||
Timeout: 50000
|
||||
|
||||
DB:
|
||||
DataSource: root:uJpLd6u-J?HC1@(10.206.0.12:3306)/pcm?parseTime=true&loc=Local
|
||||
# DataSource: root:uJpLd6u-J?HC1@(47.92.88.143:3306)/pcm?parseTime=true&loc=Local
|
||||
#DataSource: root:uJpLd6u-J?HC1@(10.206.0.12:3306)/pcm?parseTime=true&loc=Local
|
||||
DataSource: root:uJpLd6u-J?HC1@(47.92.88.143:3306)/pcm?parseTime=true&loc=Local
|
||||
Redis:
|
||||
Host: 10.206.0.12:6379
|
||||
Pass: redisPW123
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
package inference
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"crypto/tls"
|
||||
"errors"
|
||||
"fmt"
|
||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
||||
"github.com/go-resty/resty/v2"
|
||||
"github.com/zeromicro/go-zero/core/logx"
|
||||
"gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/scheduler/schedulers/option"
|
||||
|
@ -16,7 +12,7 @@ import (
|
|||
"gitlink.org.cn/JointCloud/pcm-coordinator/api/internal/types"
|
||||
"gitlink.org.cn/JointCloud/pcm-coordinator/pkg/constants"
|
||||
"gitlink.org.cn/JointCloud/pcm-coordinator/pkg/models"
|
||||
"io"
|
||||
"gitlink.org.cn/JointCloud/pcm-coordinator/pkg/utils"
|
||||
"k8s.io/apimachinery/pkg/util/json"
|
||||
"log"
|
||||
"math/rand"
|
||||
|
@ -459,7 +455,19 @@ func getInferResult(url string, file multipart.File, fileName string, clusterNam
|
|||
|
||||
func getInferResultModelarts(url string, file multipart.File, fileName string) (string, error) {
|
||||
var res Res
|
||||
body, err := SendRequest("POST", url, file, fileName)
|
||||
/* req := GetRestyRequest(20)
|
||||
_, err := req.
|
||||
SetFileReader("file", fileName, file).
|
||||
SetHeaders(map[string]string{
|
||||
"ak": "UNEHPHO4Z7YSNPKRXFE4",
|
||||
"sk": "JWXCE9qcYbc7RjpSRIWt4WgG3ZKF6Q4lPzkJReX9",
|
||||
}).
|
||||
SetResult(&res).
|
||||
Post(url)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}*/
|
||||
body, err := utils.SendRequest("POST", url, file, fileName)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
@ -467,83 +475,9 @@ func getInferResultModelarts(url string, file multipart.File, fileName string) (
|
|||
if errjson != nil {
|
||||
log.Fatalf("Error parsing JSON: %s", errjson)
|
||||
}
|
||||
|
||||
return res.Result, nil
|
||||
}
|
||||
|
||||
// SignClient AK/SK签名认证
|
||||
func SignClient(r *http.Request, writer *multipart.Writer) (*http.Client, error) {
|
||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
||||
r.Header.Add("X-Project-Id", "d18190e28e3f45a281ef0b0696ec9d52")
|
||||
r.Header.Add("x-stage", "RELEASE")
|
||||
r.Header.Add("x-sdk-content-sha256", "UNSIGNED-PAYLOAD")
|
||||
r.Header.Set("Content-Type", writer.FormDataContentType())
|
||||
s := core.Signer{
|
||||
Key: "UNEHPHO4Z7YSNPKRXFE4",
|
||||
Secret: "JWXCE9qcYbc7RjpSRIWt4WgG3ZKF6Q4lPzkJReX9",
|
||||
}
|
||||
err := s.Sign(r)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
//设置client信任所有证书
|
||||
tr := &http.Transport{
|
||||
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
|
||||
}
|
||||
client := &http.Client{
|
||||
Transport: tr,
|
||||
}
|
||||
return client, nil
|
||||
}
|
||||
|
||||
func SendRequest(method, url string, file multipart.File, fileName string) (string, error) {
|
||||
/*body := &bytes.Buffer{}
|
||||
writer := multipart.NewWriter(body)*/
|
||||
// 创建一个新的缓冲区以写入multipart表单
|
||||
var body bytes.Buffer
|
||||
// 创建一个新的multipart writer
|
||||
writer := multipart.NewWriter(&body)
|
||||
// 创建一个用于写入文件的表单字段
|
||||
part, err := writer.CreateFormFile("file", fileName) // "file"是表单的字段名,第二个参数是文件名
|
||||
if err != nil {
|
||||
fmt.Println("Error creating form file:", err)
|
||||
}
|
||||
// 将文件的内容拷贝到multipart writer中
|
||||
_, err = io.Copy(part, file)
|
||||
if err != nil {
|
||||
fmt.Println("Error copying file data:", err)
|
||||
|
||||
}
|
||||
err = writer.Close()
|
||||
if err != nil {
|
||||
fmt.Println("Error closing multipart writer:", err)
|
||||
}
|
||||
request, err := http.NewRequest(method, url, &body)
|
||||
if err != nil {
|
||||
fmt.Println("Error creating new request:", err)
|
||||
//return nil, err
|
||||
}
|
||||
signedR, err := SignClient(request, writer)
|
||||
if err != nil {
|
||||
fmt.Println("Error signing request:", err)
|
||||
//return nil, err
|
||||
}
|
||||
|
||||
res, err := signedR.Do(request)
|
||||
if err != nil {
|
||||
fmt.Println("Error sending request:", err)
|
||||
return "", err
|
||||
}
|
||||
//defer res.Body.Close()
|
||||
Resbody, err := io.ReadAll(res.Body)
|
||||
if err != nil {
|
||||
fmt.Println("Error reading response body:", err)
|
||||
//return nil, err
|
||||
}
|
||||
return string(Resbody), nil
|
||||
}
|
||||
|
||||
func GetRestyRequest(timeoutSeconds int64) *resty.Request {
|
||||
client := resty.New().SetTimeout(time.Duration(timeoutSeconds) * time.Second)
|
||||
request := client.R()
|
||||
|
|
|
@ -0,0 +1,84 @@
|
|||
package utils
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"crypto/tls"
|
||||
"fmt"
|
||||
"github.com/JCCE-nudt/apigw-go-sdk/core"
|
||||
"io"
|
||||
"mime/multipart"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
// SignClient AK/SK签名认证
|
||||
func SignClient(r *http.Request, writer *multipart.Writer) (*http.Client, error) {
|
||||
r.Header.Add("content-type", "application/json;charset=UTF-8")
|
||||
r.Header.Add("X-Project-Id", "d18190e28e3f45a281ef0b0696ec9d52")
|
||||
r.Header.Add("x-stage", "RELEASE")
|
||||
r.Header.Add("x-sdk-content-sha256", "UNSIGNED-PAYLOAD")
|
||||
//r.Header.Set("Content-Type", writer.FormDataContentType())
|
||||
s := core.Signer{
|
||||
Key: "UNEHPHO4Z7YSNPKRXFE4",
|
||||
Secret: "JWXCE9qcYbc7RjpSRIWt4WgG3ZKF6Q4lPzkJReX9",
|
||||
}
|
||||
err := s.Sign(r)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
//设置client信任所有证书
|
||||
tr := &http.Transport{
|
||||
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
|
||||
}
|
||||
client := &http.Client{
|
||||
Transport: tr,
|
||||
}
|
||||
return client, nil
|
||||
}
|
||||
|
||||
func SendRequest(method, url string, file multipart.File, fileName string) (string, error) {
|
||||
/*body := &bytes.Buffer{}
|
||||
writer := multipart.NewWriter(body)*/
|
||||
// 创建一个新的缓冲区以写入multipart表单
|
||||
var body bytes.Buffer
|
||||
// 创建一个新的multipart writer
|
||||
writer := multipart.NewWriter(&body)
|
||||
// 创建一个用于写入文件的表单字段
|
||||
part, err := writer.CreateFormFile("file", fileName) // "file"是表单的字段名,第二个参数是文件名
|
||||
if err != nil {
|
||||
fmt.Println("Error creating form file:", err)
|
||||
}
|
||||
// 将文件的内容拷贝到multipart writer中
|
||||
_, err = io.Copy(part, file)
|
||||
if err != nil {
|
||||
fmt.Println("Error copying file data:", err)
|
||||
|
||||
}
|
||||
err = writer.Close()
|
||||
if err != nil {
|
||||
fmt.Println("Error closing multipart writer:", err)
|
||||
}
|
||||
request, err := http.NewRequest(method, url, &body)
|
||||
if err != nil {
|
||||
fmt.Println("Error creating new request:", err)
|
||||
//return nil, err
|
||||
}
|
||||
signedR, err := SignClient(request, writer)
|
||||
if err != nil {
|
||||
fmt.Println("Error signing request:", err)
|
||||
//return nil, err
|
||||
}
|
||||
|
||||
res, err := signedR.Do(request)
|
||||
if err != nil {
|
||||
fmt.Println("Error sending request:", err)
|
||||
return "", err
|
||||
}
|
||||
//defer res.Body.Close()
|
||||
Resbody, err := io.ReadAll(res.Body)
|
||||
if err != nil {
|
||||
fmt.Println("Error reading response body:", err)
|
||||
//return nil, err
|
||||
}
|
||||
return string(Resbody), nil
|
||||
}
|
Loading…
Reference in New Issue