Browse Source

gorm替换sqlx

pull/9/head
894646498@qq.com 2 years ago
parent
commit
1f43569d85
18 changed files with 157 additions and 332 deletions
  1. +1
    -24
      adaptor/PCM-AI/PCM-MODELARTS/rpc/pcmmodelarts.go
  2. +1
    -1
      adaptor/PCM-CORE/api/internal/logic/core/listcenterlogic.go
  3. +20
    -24
      adaptor/PCM-CORE/api/internal/logic/core/scheduletasklogic.go
  4. +10
    -39
      adaptor/PCM-CORE/api/internal/logic/core/tasklistlogic.go
  5. +11
    -11
      adaptor/PCM-CORE/api/internal/mqs/kq/ScheduleAi.go
  6. +3
    -3
      adaptor/PCM-CORE/api/internal/mqs/kq/ScheduleCloud.go
  7. +11
    -11
      adaptor/PCM-CORE/api/internal/mqs/kq/ScheduleHpc.go
  8. +1
    -14
      adaptor/PCM-CORE/api/internal/svc/servicecontext.go
  9. +0
    -55
      adaptor/PCM-CORE/api/pcm.go
  10. +16
    -17
      adaptor/PCM-CORE/model/aimodel_gen.go
  11. +17
    -18
      adaptor/PCM-CORE/model/cloudmodel_gen.go
  12. +18
    -19
      adaptor/PCM-CORE/model/hpcmodel_gen.go
  13. +22
    -48
      adaptor/PCM-CORE/rpc/internal/logic/infolistlogic.go
  14. +10
    -10
      adaptor/PCM-CORE/rpc/internal/logic/syncinfologic.go
  15. +15
    -6
      adaptor/PCM-CORE/rpc/internal/svc/servicecontext.go
  16. +0
    -23
      adaptor/PCM-CORE/rpc/pcmcore.go
  17. +1
    -2
      go.mod
  18. +0
    -7
      go.sum

+ 1
- 24
adaptor/PCM-AI/PCM-MODELARTS/rpc/pcmmodelarts.go View File

@@ -23,30 +23,7 @@ import (
var configFile = flag.String("f", "adaptor/PCM-AI/PCM-MODELARTS/rpc/etc/pcmmodelarts.yaml", "the config file") var configFile = flag.String("f", "adaptor/PCM-AI/PCM-MODELARTS/rpc/etc/pcmmodelarts.yaml", "the config file")


func main() { func main() {
//flag.Parse()
//
//var c config.Config
//conf.MustLoad(*configFile, &c)
//// start log component
//logx.MustSetup(c.LogConf)
//ctx := svc.NewServiceContext(c)
//ctx.Cron.Start()
//s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {
// modelarts.RegisterModelArtsServer(grpcServer, server.NewModelArtsServer(ctx))
//
// if c.Mode == service.DevMode || c.Mode == service.TestMode {
// reflection.Register(grpcServer)
// }
//})
//
////rpc log
//s.AddUnaryInterceptors(rpcserver.LoggerInterceptor)
//defer s.Stop()
//logx.Infof("Starting rpc server at %s...\n", c.ListenOn)
//initCron(ctx)
//s.Start()

//--------------

flag.Parse() flag.Parse()


var bootstrapConfig commonConfig.BootstrapConfig var bootstrapConfig commonConfig.BootstrapConfig


+ 1
- 1
adaptor/PCM-CORE/api/internal/logic/core/listcenterlogic.go View File

@@ -29,7 +29,7 @@ func (l *ListCenterLogic) ListCenter() (*types.ListCenterResp, error) {
//var centersModel []model.ComputeCenter //var centersModel []model.ComputeCenter
var resp types.ListCenterResp var resp types.ListCenterResp


centersModel, _ = l.svcCtx.CenterOverviewModel.FindAll(l.ctx)
l.svcCtx.DbEngin.Find(&centersModel)


var centerModelV = *centersModel var centerModelV = *centersModel




+ 20
- 24
adaptor/PCM-CORE/api/internal/logic/core/scheduletasklogic.go View File

@@ -1,14 +1,10 @@
package core package core


import ( import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelartsclient"
"PCM/adaptor/PCM-CORE/api/internal/svc" "PCM/adaptor/PCM-CORE/api/internal/svc"
"PCM/adaptor/PCM-CORE/api/internal/types" "PCM/adaptor/PCM-CORE/api/internal/types"
"PCM/adaptor/PCM-CORE/model" "PCM/adaptor/PCM-CORE/model"
"PCM/adaptor/PCM-HPC/PCM-AC/rpc/hpcacclient"
"PCM/common/tool"
"context" "context"
"database/sql"
"encoding/json" "encoding/json"
"github.com/zeromicro/go-zero/core/logx" "github.com/zeromicro/go-zero/core/logx"
appv1 "k8s.io/api/apps/v1" appv1 "k8s.io/api/apps/v1"
@@ -58,12 +54,12 @@ func (l *ScheduleTaskLogic) ScheduleTask(req *types.ScheduleTaskReq) (resp *type
} }


// save the task in mysql and return id // save the task in mysql and return id
result, err := l.svcCtx.TaskModel.Insert(l.ctx, &task)
if err != nil {
return nil, err
tx := l.svcCtx.DbEngin.Create(&task)

if tx.Error != nil {
return nil, tx.Error
} }
id, _ := result.LastInsertId()
req.TaskId = id
req.TaskId = task.Id
reqMessage, err := json.Marshal(req) reqMessage, err := json.Marshal(req)
if err != nil { if err != nil {
return nil, err return nil, err
@@ -81,7 +77,7 @@ func (l *ScheduleTaskLogic) ScheduleTask(req *types.ScheduleTaskReq) (resp *type
} }


func (l *ScheduleTaskLogic) checkSubmitReq(req *types.ScheduleTaskReq) string { func (l *ScheduleTaskLogic) checkSubmitReq(req *types.ScheduleTaskReq) string {
var rows *sql.Rows
//var rows *sql.Rows
switch req.ServiceName { switch req.ServiceName {
case "kubeNative": case "kubeNative":
//bytes, err := json.Marshal(req.Metadata) //bytes, err := json.Marshal(req.Metadata)
@@ -100,20 +96,20 @@ func (l *ScheduleTaskLogic) checkSubmitReq(req *types.ScheduleTaskReq) string {
// } // }
// } // }
//} //}
case "modelArts":
var modelArtsReq modelartsclient.CreateTrainingJobReq
tool.Convert(req.Metadata, &modelArtsReq)
rows, _ = l.svcCtx.Db.Query("select id from ai where project_id = ? and name = ?", modelArtsReq.ProjectId, modelArtsReq.Metadata.Name)
if rows != nil && rows.Next() {
return "data already exists."
}
case "ac":
var acReq *hpcacclient.SubmitJobReq
tool.Convert(req.Metadata, &acReq)
rows, _ = l.svcCtx.Db.Query("select id from hpc where name = ?", acReq.Appname)
if rows != nil && rows.Next() {
return "data already exists."
}
//case "modelArts":
// var modelArtsReq modelartsclient.CreateTrainingJobReq
// tool.Convert(req.Metadata, &modelArtsReq)
// rows, _ = l.svcCtx.Db.Query("select id from ai where project_id = ? and name = ?", modelArtsReq.ProjectId, modelArtsReq.Metadata.Name)
// if rows != nil && rows.Next() {
// return "data already exists."
// }
//case "ac":
// var acReq *hpcacclient.SubmitJobReq
// tool.Convert(req.Metadata, &acReq)
// rows, _ = l.svcCtx.Db.Query("select id from hpc where name = ?", acReq.Appname)
// if rows != nil && rows.Next() {
// return "data already exists."
// }
} }


return "" return ""


+ 10
- 39
adaptor/PCM-CORE/api/internal/logic/core/tasklistlogic.go View File

@@ -27,45 +27,18 @@ func NewTaskListLogic(ctx context.Context, svcCtx *svc.ServiceContext) *TaskList
func (l *TaskListLogic) TaskList() (resp *types.TaskListResp, err error) { func (l *TaskListLogic) TaskList() (resp *types.TaskListResp, err error) {
resp = &types.TaskListResp{} resp = &types.TaskListResp{}
// 查询总运行时长 // 查询总运行时长
runningTimeRows, err := l.svcCtx.Db.Query("select sum(running_time)/3600 as running_time from (select sum(running_time) as running_time from hpc union all select sum(running_time) as running_time from cloud union all select sum(running_time) as running_time from ai) runtime")
if err != nil {
logx.Error(err)
return nil, err
}
for runningTimeRows.Next() {
runningTimeRows.Scan(&resp.Data.TotalRunTime)
tx := l.svcCtx.DbEngin.Raw("select sum(running_time)/3600 as total_run_time from (select sum(running_time) as running_time from hpc union all select sum(running_time) as running_time from cloud union all select sum(running_time) as running_time from ai) runtime").Scan(&resp.Data.TotalRunTime)
if tx.Error != nil {

} }
// 查询任务数据 // 查询任务数据
var tasks []model.Task var tasks []model.Task
err = l.svcCtx.SqlConn.QueryRows(&tasks, "select * from task where deleted_flag = 0")
if err != nil {
logx.Error(err)
return nil, err
}
// 查询超算数据
var hpcInfos []model.Hpc
err = l.svcCtx.SqlConn.QueryRows(&hpcInfos, "select * from hpc where deleted_flag = 0")
if err != nil {
logx.Error(err)
return nil, err
}
// 查询智算数据
var aiInfos []model.Ai
err = l.svcCtx.SqlConn.QueryRows(&aiInfos, "select * from ai where deleted_flag = 0")
if err != nil {
tx = l.svcCtx.DbEngin.Find(&tasks)
if tx.Error != nil {
logx.Error(err) logx.Error(err)
return nil, err
}
// 查询云算数据
var cloudInfos []model.Cloud
err = l.svcCtx.SqlConn.QueryRows(&cloudInfos, "select * from cloud where deleted_flag = 0")

if err != nil {
logx.Error(err)
return nil, err
return nil, tx.Error
} }
for _, task := range tasks { for _, task := range tasks {

resp.Data.Tasks = append(resp.Data.Tasks, types.Task{ resp.Data.Tasks = append(resp.Data.Tasks, types.Task{
ServiceName: task.ServiceName, ServiceName: task.ServiceName,
Name: task.Name, Name: task.Name,
@@ -75,13 +48,11 @@ func (l *TaskListLogic) TaskList() (resp *types.TaskListResp, err error) {
}) })
} }
// 运行卡时数 // 运行卡时数
rows, err := l.svcCtx.Db.Query("select SUM(running_time * card_count)/3600 from hpc where deleted_flag = 0")
if err != nil {
return nil, err
}
for rows.Next() {
rows.Scan(&resp.Data.CardTime)
tx = l.svcCtx.DbEngin.Model(&model.Hpc{}).Select("SUM(running_time * card_count)/3600 as cardTime").Find(&resp.Data.CardTime)
if tx.Error != nil {
return nil, tx.Error
} }

// 运行任务合计数 // 运行任务合计数
resp.Data.TotalCount = len(tasks) resp.Data.TotalCount = len(tasks)
resp.Code = 200 resp.Code = 200


+ 11
- 11
adaptor/PCM-CORE/api/internal/mqs/kq/ScheduleAi.go View File

@@ -3,7 +3,7 @@ package kq
import ( import (
"PCM/adaptor/PCM-CORE/api/internal/svc" "PCM/adaptor/PCM-CORE/api/internal/svc"
"PCM/adaptor/PCM-CORE/api/internal/types" "PCM/adaptor/PCM-CORE/api/internal/types"
"PCM/common/param"
"PCM/adaptor/PCM-CORE/model"
"PCM/common/tool" "PCM/common/tool"
"context" "context"
"encoding/json" "encoding/json"
@@ -30,13 +30,13 @@ func (l *ScheduleAiMq) Consume(_, val string) error {
// 接受消息 // 接受消息
var req *types.ScheduleTaskReq var req *types.ScheduleTaskReq
json.Unmarshal([]byte(val), &req) json.Unmarshal([]byte(val), &req)
var aiBaseList []param.AiBase
tool.Convert(req.Metadata, &aiBaseList)
for index, _ := range aiBaseList {
aiBaseList[index].TaskId = req.TaskId
aiBaseList[index].Status = "Saved"
var aiList []model.Ai
tool.Convert(req.Metadata, &aiList)
for index, _ := range aiList {
aiList[index].TaskId = req.TaskId
aiList[index].Status = "Saved"
// 解析超算信息以yaml形式存储到数据库中 // 解析超算信息以yaml形式存储到数据库中
jsonBytes, err := json.Marshal(aiBaseList[index])
jsonBytes, err := json.Marshal(aiList[index])
if err != nil { if err != nil {
return err return err
} }
@@ -44,12 +44,12 @@ func (l *ScheduleAiMq) Consume(_, val string) error {
if err != nil { if err != nil {
return err return err
} }
aiBaseList[index].YamlString = string(bytes)
aiList[index].YamlString = string(bytes)
} }
// 存储数据 // 存储数据
_, err := l.svcCtx.Db.NamedExec("insert into ai (task_id,service_name,name,status,project_id) values (:task_id,:service_name,:name,:status,:project_id)", aiBaseList)
if err != nil {
return err
tx := l.svcCtx.DbEngin.Create(aiList)
if tx.Error != nil {
return tx.Error
} }
return nil return nil
} }

+ 3
- 3
adaptor/PCM-CORE/api/internal/mqs/kq/ScheduleCloud.go View File

@@ -49,9 +49,9 @@ func (l *ScheduleCloudMq) Consume(_, val string) error {
} }


// 存储数据 // 存储数据
_, err = l.svcCtx.Db.NamedExec("insert into cloud (task_id,kind,namespace,name,api_version,status,service_name,yaml_string) values (:task_id,:kind,:namespace,:name,:api_version,:status,:service_name,:yaml_string)", clouds)
if err != nil {
return err
tx := l.svcCtx.DbEngin.Create(clouds)
if tx.Error != nil {
return tx.Error
} }


return nil return nil


+ 11
- 11
adaptor/PCM-CORE/api/internal/mqs/kq/ScheduleHpc.go View File

@@ -3,7 +3,7 @@ package kq
import ( import (
"PCM/adaptor/PCM-CORE/api/internal/svc" "PCM/adaptor/PCM-CORE/api/internal/svc"
"PCM/adaptor/PCM-CORE/api/internal/types" "PCM/adaptor/PCM-CORE/api/internal/types"
"PCM/common/param"
"PCM/adaptor/PCM-CORE/model"
"PCM/common/tool" "PCM/common/tool"
"context" "context"
"encoding/json" "encoding/json"
@@ -30,13 +30,13 @@ func (l *ScheduleHpcMq) Consume(_, val string) error {
// 接受消息 // 接受消息
var req *types.ScheduleTaskReq var req *types.ScheduleTaskReq
json.Unmarshal([]byte(val), &req) json.Unmarshal([]byte(val), &req)
var hpcBaseList []param.HpcBase
tool.Convert(req.Metadata, &hpcBaseList)
for index, _ := range hpcBaseList {
hpcBaseList[index].TaskId = req.TaskId
hpcBaseList[index].Status = "Saved"
var hpcList []model.Hpc
tool.Convert(req.Metadata, &hpcList)
for index, _ := range hpcList {
hpcList[index].TaskId = req.TaskId
hpcList[index].Status = "Saved"
// 解析超算信息以yaml形式存储到数据库中 // 解析超算信息以yaml形式存储到数据库中
jsonBytes, err := json.Marshal(hpcBaseList[index])
jsonBytes, err := json.Marshal(hpcList[index])
if err != nil { if err != nil {
return err return err
} }
@@ -44,12 +44,12 @@ func (l *ScheduleHpcMq) Consume(_, val string) error {
if err != nil { if err != nil {
return err return err
} }
hpcBaseList[index].YamlString = string(bytes)
hpcList[index].YamlString = string(bytes)
} }
// 存储数据 // 存储数据
_, err := l.svcCtx.Db.NamedExec("insert into hpc (task_id,service_name,card_count,name,work_dir,wall_time,status) values (:task_id,:service_name,:card_count,:name,:work_dir,:wall_time,:status)", hpcBaseList)
if err != nil {
return err
tx := l.svcCtx.DbEngin.Create(hpcList)
if tx.Error != nil {
return tx.Error
} }
return nil return nil
} }

+ 1
- 14
adaptor/PCM-CORE/api/internal/svc/servicecontext.go View File

@@ -3,14 +3,11 @@ package svc
import ( import (
"PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelartsclient" "PCM/adaptor/PCM-AI/PCM-MODELARTS/rpc/modelartsclient"
"PCM/adaptor/PCM-CORE/api/internal/config" "PCM/adaptor/PCM-CORE/api/internal/config"
"PCM/adaptor/PCM-CORE/model"
"PCM/adaptor/PCM-HPC/PCM-AC/rpc/hpcacclient" "PCM/adaptor/PCM-HPC/PCM-AC/rpc/hpcacclient"
"PCM/adaptor/PCM-HPC/PCM-TH/rpc/hpcthclient" "PCM/adaptor/PCM-HPC/PCM-TH/rpc/hpcthclient"
"github.com/go-redis/redis/v8" "github.com/go-redis/redis/v8"
sql "github.com/jmoiron/sqlx"
"github.com/robfig/cron/v3" "github.com/robfig/cron/v3"
"github.com/zeromicro/go-queue/kq" "github.com/zeromicro/go-queue/kq"
"github.com/zeromicro/go-zero/core/stores/sqlx"
"github.com/zeromicro/go-zero/zrpc" "github.com/zeromicro/go-zero/zrpc"
"gorm.io/driver/mysql" "gorm.io/driver/mysql"
"gorm.io/gorm" "gorm.io/gorm"
@@ -19,14 +16,10 @@ import (


type ServiceContext struct { type ServiceContext struct {
Config config.Config Config config.Config
ScheduleHpcClient *kq.Pusher
RedisClient *redis.Client RedisClient *redis.Client
ScheduleHpcClient *kq.Pusher
ScheduleCloudClient *kq.Pusher ScheduleCloudClient *kq.Pusher
ScheduleAiClient *kq.Pusher ScheduleAiClient *kq.Pusher
TaskModel model.TaskModel
CenterOverviewModel model.CenterOverviewModel
SqlConn sqlx.SqlConn
Db *sql.DB
Cron *cron.Cron Cron *cron.Cron
ModelArtsRpc modelartsclient.ModelArts ModelArtsRpc modelartsclient.ModelArts
DbEngin *gorm.DB DbEngin *gorm.DB
@@ -35,8 +28,6 @@ type ServiceContext struct {
} }


func NewServiceContext(c config.Config) *ServiceContext { func NewServiceContext(c config.Config) *ServiceContext {
sqlConn := sqlx.NewMysql(c.DB.DataSource)
db, _ := sql.Open("mysql", c.DB.DataSource)
//启动Gorm支持 //启动Gorm支持
dbEngin, _ := gorm.Open(mysql.Open(c.DB.DataSource), &gorm.Config{ dbEngin, _ := gorm.Open(mysql.Open(c.DB.DataSource), &gorm.Config{
NamingStrategy: schema.NamingStrategy{ NamingStrategy: schema.NamingStrategy{
@@ -47,14 +38,10 @@ func NewServiceContext(c config.Config) *ServiceContext {
Cron: cron.New(cron.WithSeconds()), Cron: cron.New(cron.WithSeconds()),
DbEngin: dbEngin, DbEngin: dbEngin,
Config: c, Config: c,
Db: db,
RedisClient: redis.NewClient(&redis.Options{ RedisClient: redis.NewClient(&redis.Options{
Addr: c.Redis.Host, Addr: c.Redis.Host,
Password: c.Redis.Pass, Password: c.Redis.Pass,
}), }),
SqlConn: sqlx.NewMysql(c.DB.DataSource),
TaskModel: model.NewTaskModel(sqlConn, c.Cache),
CenterOverviewModel: model.NewCenterOverviewModel(sqlConn, c.Cache),
ScheduleHpcClient: kq.NewPusher(c.KqProducerConf.Brokers, c.KqProducerConf.HpcTopic), ScheduleHpcClient: kq.NewPusher(c.KqProducerConf.Brokers, c.KqProducerConf.HpcTopic),
ScheduleCloudClient: kq.NewPusher(c.KqProducerConf.Brokers, c.KqProducerConf.CloudTopic), ScheduleCloudClient: kq.NewPusher(c.KqProducerConf.Brokers, c.KqProducerConf.CloudTopic),
ScheduleAiClient: kq.NewPusher(c.KqProducerConf.Brokers, c.KqProducerConf.AiTopic), ScheduleAiClient: kq.NewPusher(c.KqProducerConf.Brokers, c.KqProducerConf.AiTopic),


+ 0
- 55
adaptor/PCM-CORE/api/pcm.go View File

@@ -5,58 +5,19 @@ import (
"PCM/adaptor/PCM-CORE/api/internal/handler" "PCM/adaptor/PCM-CORE/api/internal/handler"
kqMq "PCM/adaptor/PCM-CORE/api/internal/mqs/kq" kqMq "PCM/adaptor/PCM-CORE/api/internal/mqs/kq"
"PCM/adaptor/PCM-CORE/api/internal/svc" "PCM/adaptor/PCM-CORE/api/internal/svc"
"PCM/adaptor/PCM-CORE/model"
commonConfig "PCM/common/config" commonConfig "PCM/common/config"
"context" "context"
"flag" "flag"
"github.com/go-redis/redis/v8"
"github.com/zeromicro/go-queue/kq" "github.com/zeromicro/go-queue/kq"
"github.com/zeromicro/go-zero/core/conf" "github.com/zeromicro/go-zero/core/conf"
"github.com/zeromicro/go-zero/core/logx" "github.com/zeromicro/go-zero/core/logx"
"github.com/zeromicro/go-zero/core/service" "github.com/zeromicro/go-zero/core/service"
"github.com/zeromicro/go-zero/core/stores/sqlx"
"github.com/zeromicro/go-zero/rest" "github.com/zeromicro/go-zero/rest"
) )


var configFile = flag.String("f", "adaptor/PCM-CORE/api/etc/pcm.yaml", "the config file") var configFile = flag.String("f", "adaptor/PCM-CORE/api/etc/pcm.yaml", "the config file")


func main() { func main() {
//flag.Parse()
//
//var c config.Config
//conf.MustLoad(*configFile, &c)
//
//serviceGroup := service.NewServiceGroup()
//defer serviceGroup.Stop()
//
//server := rest.MustNewServer(c.RestConf)
//
//ctx := svc.NewServiceContext(c)
//// start log component
//logx.MustSetup(c.LogConf)
//ctx.Cron.Start()
//handler.RegisterHandlers(server, ctx)
//
//serviceGroup.Add(server)
//services := []service.Service{
// //Listening for changes in consumption flow status
// kq.MustNewQueue(c.HpcConsumerConf, kqMq.NewScheduleHpcMq(context.Background(), ctx)),
// kq.MustNewQueue(c.CloudConsumerConf, kqMq.NewScheduleCloudMq(context.Background(), ctx)),
// kq.MustNewQueue(c.AiConsumerConf, kqMq.NewScheduleAiMq(context.Background(), ctx)),
//
// //.....
//}
//for _, mq := range services {
// serviceGroup.Add(mq)
//}
//
//// 初始化数据到缓存
//initRedisData(ctx.SqlConn, ctx.RedisClient)
//logx.Infof("Starting server at %s:%d...\n", c.Host, c.Port)
//serviceGroup.Start()

//----------------------

flag.Parse() flag.Parse()


var bootstrapConfig commonConfig.BootstrapConfig var bootstrapConfig commonConfig.BootstrapConfig
@@ -104,23 +65,7 @@ func main() {
serviceGroup.Add(mq) serviceGroup.Add(mq)
} }


// 初始化数据到缓存
initRedisData(ctx.SqlConn, ctx.RedisClient)
logx.Infof("Starting server at %s:%d...\n", c.Host, c.Port) logx.Infof("Starting server at %s:%d...\n", c.Host, c.Port)
serviceGroup.Start() serviceGroup.Start()


} }

func initRedisData(sql sqlx.SqlConn, redisClient *redis.Client) {
// 查询出字典数据列表
var dictList []model.Dict
err := sql.QueryRows(&dictList, "select * from dict")
if err != nil {
return
}

for _, dict := range dictList {
redisClient.Set(context.Background(), dict.DictValue, dict.DictCode, 0)
}

}

+ 16
- 17
adaptor/PCM-CORE/model/aimodel_gen.go View File

@@ -7,7 +7,6 @@ import (
"database/sql" "database/sql"
"fmt" "fmt"
"strings" "strings"
"time"


"github.com/zeromicro/go-zero/core/stores/builder" "github.com/zeromicro/go-zero/core/stores/builder"
"github.com/zeromicro/go-zero/core/stores/sqlc" "github.com/zeromicro/go-zero/core/stores/sqlc"
@@ -37,22 +36,22 @@ type (
} }


Ai struct { Ai struct {
Id int64 `db:"id"` // id
TaskId int64 `db:"task_id"` // 任务id
ProjectId string `db:"project_id"` // 项目id
Name string `db:"name"` // 名称
Status string `db:"status"` // 状态
StartTime string `db:"start_time"` // 开始时间
RunningTime string `db:"running_time"` // 运行时间
CreatedBy string `db:"created_by"` // 创建人
CreatedTime time.Time `db:"created_time"` // 创建时间
UpdatedBy string `db:"updated_by"` // 更新人
UpdatedTime time.Time `db:"updated_time"` // 更新时间
DeletedFlag int64 `db:"deleted_flag"` // 是否删除(0-否,1-是)
ServiceName string `db:"service_name"`
Result sql.NullString `db:"result"`
YamlString string `db:"yaml_string"`
JobId string `db:"job_id"`
Id int64 `db:"id"` // id
TaskId int64 `db:"task_id"` // 任务id
ProjectId string `db:"project_id"` // 项目id
Name string `db:"name"` // 名称
Status string `db:"status"` // 状态
StartTime string `db:"start_time"` // 开始时间
RunningTime string `db:"running_time"` // 运行时间
CreatedBy string `db:"created_by"` // 创建人
CreatedTime sql.NullTime `db:"created_time"` // 创建时间
UpdatedBy string `db:"updated_by"` // 更新人
UpdatedTime sql.NullTime `db:"updated_time"` // 更新时间
DeletedFlag int64 `db:"deleted_flag"` // 是否删除(0-否,1-是)
ServiceName string `db:"service_name"`
Result string `db:"result"`
YamlString string `db:"yaml_string"`
JobId string `db:"job_id"`
} }
) )




+ 17
- 18
adaptor/PCM-CORE/model/cloudmodel_gen.go View File

@@ -7,7 +7,6 @@ import (
"database/sql" "database/sql"
"fmt" "fmt"
"strings" "strings"
"time"


"github.com/zeromicro/go-zero/core/stores/builder" "github.com/zeromicro/go-zero/core/stores/builder"
"github.com/zeromicro/go-zero/core/stores/sqlc" "github.com/zeromicro/go-zero/core/stores/sqlc"
@@ -37,23 +36,23 @@ type (
} }


Cloud struct { Cloud struct {
Id int64 `db:"id"` // id
TaskId int64 `db:"task_id"` // 任务id
ApiVersion string `db:"api_version"`
Name string `db:"name"` // 名称
Namespace string `db:"namespace"` // 命名空间
Kind string `db:"kind"` // 种类
Status string `db:"status"` // 状态
StartTime string `db:"start_time"` // 开始时间
RunningTime int64 `db:"running_time"` // 运行时长
CreatedBy int64 `db:"created_by"` // 创建人
CreatedTime time.Time `db:"created_time"` // 创建时间
UpdatedBy int64 `db:"updated_by"` // 更新人
UpdatedTime time.Time `db:"updated_time"` // 更新时间
DeletedFlag int64 `db:"deleted_flag"` // 是否删除(0-否,1-是)
ServiceName string `db:"service_name"`
YamlString string `db:"yaml_string"`
Result sql.NullString `db:"result"`
Id int64 `db:"id"` // id
TaskId int64 `db:"task_id"` // 任务id
ApiVersion string `db:"api_version"`
Name string `db:"name"` // 名称
Namespace string `db:"namespace"` // 命名空间
Kind string `db:"kind"` // 种类
Status string `db:"status"` // 状态
StartTime string `db:"start_time"` // 开始时间
RunningTime int64 `db:"running_time"` // 运行时长
CreatedBy int64 `db:"created_by"` // 创建人
CreatedTime sql.NullTime `db:"created_time"` // 创建时间
UpdatedBy int64 `db:"updated_by"` // 更新人
UpdatedTime sql.NullTime `db:"updated_time"` // 更新时间
DeletedFlag int64 `db:"deleted_flag"` // 是否删除(0-否,1-是)
ServiceName string `db:"service_name"`
YamlString string `db:"yaml_string"`
Result string `db:"result"`
} }
) )




+ 18
- 19
adaptor/PCM-CORE/model/hpcmodel_gen.go View File

@@ -7,7 +7,6 @@ import (
"database/sql" "database/sql"
"fmt" "fmt"
"strings" "strings"
"time"


"github.com/zeromicro/go-zero/core/stores/builder" "github.com/zeromicro/go-zero/core/stores/builder"
"github.com/zeromicro/go-zero/core/stores/sqlc" "github.com/zeromicro/go-zero/core/stores/sqlc"
@@ -37,24 +36,24 @@ type (
} }


Hpc struct { Hpc struct {
Id int64 `db:"id"` // id
TaskId sql.NullInt64 `db:"task_id"` // 任务id
JobId sql.NullString `db:"job_id"` // 作业id
ServiceName sql.NullString `db:"service_name"` // 服务名称
Name sql.NullString `db:"name"` // 名称
Status sql.NullString `db:"status"` // 状态
StartTime sql.NullString `db:"start_time"` // 开始时间
RunningTime sql.NullInt64 `db:"running_time"` // 运行时间
CardCount sql.NullInt64 `db:"card_count"` // 卡数
CreatedBy sql.NullInt64 `db:"created_by"` // 创建人
CreatedTime time.Time `db:"created_time"` // 创建时间
UpdatedBy sql.NullInt64 `db:"updated_by"` // 更新人
UpdatedTime time.Time `db:"updated_time"` // 更新时间
DeletedFlag int64 `db:"deleted_flag"` // 是否删除(0-否,1-是)
WorkDir sql.NullString `db:"work_dir"`
WallTime sql.NullString `db:"wall_time"`
Result sql.NullString `db:"result"`
YamlString sql.NullString `db:"yaml_string"`
Id int64 `db:"id"` // id
TaskId int64 `db:"task_id"` // 任务id
JobId string `db:"job_id"` // 作业id
ServiceName string `db:"service_name"` // 服务名称
Name string `db:"name"` // 名称
Status string `db:"status"` // 状态
StartTime string `db:"start_time"` // 开始时间
RunningTime int64 `db:"running_time"` // 运行时间
CardCount int64 `db:"card_count"` // 卡数
CreatedBy int64 `db:"created_by"` // 创建人
CreatedTime sql.NullTime `db:"created_time"` // 创建时间
UpdatedBy int64 `db:"updated_by"` // 更新人
UpdatedTime sql.NullTime `db:"updated_time"` // 更新时间
DeletedFlag int64 `db:"deleted_flag"` // 是否删除(0-否,1-是)
WorkDir string `db:"work_dir"`
WallTime string `db:"wall_time"`
Result string `db:"result"`
YamlString string `db:"yaml_string"`
} }
) )




+ 22
- 48
adaptor/PCM-CORE/rpc/internal/logic/infolistlogic.go View File

@@ -4,6 +4,7 @@ import (
"PCM/adaptor/PCM-CORE/model" "PCM/adaptor/PCM-CORE/model"
"PCM/adaptor/PCM-CORE/rpc/internal/svc" "PCM/adaptor/PCM-CORE/rpc/internal/svc"
"PCM/adaptor/PCM-CORE/rpc/pcmCore" "PCM/adaptor/PCM-CORE/rpc/pcmCore"
"PCM/common/tool"
"context" "context"


"github.com/zeromicro/go-zero/core/logx" "github.com/zeromicro/go-zero/core/logx"
@@ -29,59 +30,32 @@ func (l *InfoListLogic) InfoList(in *pcmCore.InfoListReq) (*pcmCore.InfoListResp
// 查询云智超中的数据列表 // 查询云智超中的数据列表
switch in.Kind { switch in.Kind {
case "hpc": case "hpc":
rows, err := l.svcCtx.Db.Query("select task_id,name,status,work_dir,wall_time from hpc where service_name = ? and status not in ('Succeed', 'Completed')", in.ServiceName)
if err != nil {
return nil, err
var hpcModelList []model.Hpc
tx := l.svcCtx.DbEngin.Where("service_name = ? AND status NOT IN ?", in.ServiceName, []string{"Succeed", "Completed"}).Find(&hpcModelList)
if tx.Error != nil {
return nil, tx.Error
} }
for rows.Next() {
var hpc model.Hpc
rows.Scan(&hpc.TaskId, &hpc.Name, &hpc.Status, &hpc.WorkDir, &hpc.WallTime)
hpcInfo := pcmCore.HpcInfo{
TaskId: hpc.TaskId.Int64,
Name: hpc.Name.String,
Status: hpc.Status.String,
WorkDir: hpc.WorkDir.String,
WallTime: hpc.WallTime.String,
}
result.HpcInfoList = append(result.HpcInfoList, &hpcInfo)
}

var hpcInfoList []*pcmCore.HpcInfo
tool.Convert(hpcModelList, &hpcInfoList)
result.HpcInfoList = hpcInfoList
case "cloud": case "cloud":
rows, err := l.svcCtx.Db.Query("select task_id,namespace,name,status,yaml_string from cloud where service_name = ? and status not in ('Succeed', 'Completed')", in.ServiceName)
if err != nil {
return nil, err
}
for rows.Next() {
var cloud model.Cloud
rows.Scan(&cloud.TaskId, &cloud.Namespace, &cloud.Name, &cloud.Status, &cloud.YamlString)
var cloudInfo pcmCore.CloudInfo
cloudInfo = pcmCore.CloudInfo{
TaskId: cloud.TaskId,
Namespace: cloud.Namespace,
Name: cloud.Name,
Status: cloud.Status,
YamlString: cloud.YamlString,
}
result.CloudInfoList = append(result.CloudInfoList, &cloudInfo)
var cloudModelList []model.Cloud
tx := l.svcCtx.DbEngin.Where("service_name = ? AND status NOT IN ?", in.ServiceName, []string{"Succeed", "Completed"}).Find(&cloudModelList)
if tx.Error != nil {
return nil, tx.Error
} }
var cloudInfoList []*pcmCore.CloudInfo
tool.Convert(cloudModelList, &cloudInfoList)
result.CloudInfoList = cloudInfoList
case "ai": case "ai":
rows, err := l.svcCtx.Db.Query("select task_id,name,status,project_id,job_id from ai where service_name = ? and status not in ('Succeed', 'Completed')", in.ServiceName)
if err != nil {
return nil, err
}
for rows.Next() {
var ai model.Ai
rows.Scan(&ai.TaskId, &ai.Name, &ai.Status, &ai.ProjectId, &ai.JobId)
var aiInfo pcmCore.AiInfo
aiInfo = pcmCore.AiInfo{
TaskId: ai.TaskId,
ProjectId: ai.ProjectId,
Name: ai.Name,
Status: ai.Status,
JobId: ai.JobId,
}
result.AiInfoList = append(result.AiInfoList, &aiInfo)
var aiModelList []model.AiModel
tx := l.svcCtx.DbEngin.Where("service_name = ? AND status NOT IN ?", in.ServiceName, []string{"Succeed", "Completed"}).Find(&aiModelList)
if tx.Error != nil {
return nil, tx.Error
} }
var aiInfoList []*pcmCore.AiInfo
tool.Convert(aiModelList, &aiInfoList)
result.AiInfoList = aiInfoList
} }
return &result, nil return &result, nil
} }

+ 10
- 10
adaptor/PCM-CORE/rpc/internal/logic/syncinfologic.go View File

@@ -33,24 +33,24 @@ func NewSyncInfoLogic(ctx context.Context, svcCtx *svc.ServiceContext) *SyncInfo


// SyncInfo Synchronous data information // SyncInfo Synchronous data information
func (l *SyncInfoLogic) SyncInfo(in *pcmCore.SyncInfoReq) (*pcmCore.SyncInfoResp, error) { func (l *SyncInfoLogic) SyncInfo(in *pcmCore.SyncInfoReq) (*pcmCore.SyncInfoResp, error) {
conn, err := l.svcCtx.Db.Begin()
if err != nil {
return nil, err
db := l.svcCtx.DbEngin.Begin()
if db.Error != nil {
return nil, db.Error
} }
switch in.Kind { switch in.Kind {
case "cloud": case "cloud":
for _, cloudInfo := range in.CloudInfoList { for _, cloudInfo := range in.CloudInfoList {
_, err = conn.Exec("update cloud set status = ?,start_time = ?,running_time = ? where service_name = ? and task_id = ? and namespace = ? and name = ?",
db.Exec("update cloud set status = ?,start_time = ?,running_time = ? where service_name = ? and task_id = ? and namespace = ? and name = ?",
cloudInfo.Status, cloudInfo.StartTime, cloudInfo.RunningTime, in.ServiceName, cloudInfo.TaskId, cloudInfo.Namespace, cloudInfo.Name) cloudInfo.Status, cloudInfo.StartTime, cloudInfo.RunningTime, in.ServiceName, cloudInfo.TaskId, cloudInfo.Namespace, cloudInfo.Name)
} }
case "hpc": case "hpc":
for _, hpcInfo := range in.HpcInfoList { for _, hpcInfo := range in.HpcInfoList {
_, err = conn.Exec("update hpc set status = ?,start_time = ?,running_time = ?,job_id = ? where service_name = ? and task_id = ? and name = ?",
db.Exec("update hpc set status = ?,start_time = ?,running_time = ?,job_id = ? where service_name = ? and task_id = ? and name = ?",
hpcInfo.Status, hpcInfo.StartTime, hpcInfo.RunningTime, hpcInfo.JobId, in.ServiceName, hpcInfo.TaskId, hpcInfo.Name) hpcInfo.Status, hpcInfo.StartTime, hpcInfo.RunningTime, hpcInfo.JobId, in.ServiceName, hpcInfo.TaskId, hpcInfo.Name)
} }
case "ai": case "ai":
for _, aiInfo := range in.AiInfoList { for _, aiInfo := range in.AiInfoList {
_, err = conn.Exec("update ai set status = ?,start_time = ?,running_time = ?,project_id = ?,job_id = ?,created_time = ? where service_name = ? and task_id = ? and name = ?",
db.Exec("update ai set status = ?,start_time = ?,running_time = ?,project_id = ?,job_id = ?,created_time = ? where service_name = ? and task_id = ? and name = ?",
aiInfo.Status, aiInfo.StartTime, aiInfo.RunningTime, aiInfo.ProjectId, aiInfo.JobId, aiInfo.CreateTime, in.ServiceName, aiInfo.TaskId, aiInfo.Name) aiInfo.Status, aiInfo.StartTime, aiInfo.RunningTime, aiInfo.ProjectId, aiInfo.JobId, aiInfo.CreateTime, in.ServiceName, aiInfo.TaskId, aiInfo.Name)
} }
} }
@@ -58,13 +58,13 @@ func (l *SyncInfoLogic) SyncInfo(in *pcmCore.SyncInfoReq) (*pcmCore.SyncInfoResp
// 执行回滚或者提交操作 // 执行回滚或者提交操作
defer func() { defer func() {
if p := recover(); p != nil { if p := recover(); p != nil {
conn.Rollback()
db.Rollback()
logx.Error(p) logx.Error(p)
} else if err != nil {
} else if db.Error != nil {
logx.Info("rollback") logx.Info("rollback")
conn.Rollback()
db.Rollback()
} else { } else {
err = conn.Commit()
db = db.Commit()
logx.Info("commit success") logx.Info("commit success")
} }
}() }()


+ 15
- 6
adaptor/PCM-CORE/rpc/internal/svc/servicecontext.go View File

@@ -3,18 +3,27 @@ package svc
import ( import (
"PCM/adaptor/PCM-CORE/rpc/internal/config" "PCM/adaptor/PCM-CORE/rpc/internal/config"
_ "github.com/go-sql-driver/mysql" _ "github.com/go-sql-driver/mysql"
"github.com/jmoiron/sqlx"
"gorm.io/driver/mysql"
"gorm.io/gorm"
"gorm.io/gorm/logger"
"gorm.io/gorm/schema"
) )


type ServiceContext struct { type ServiceContext struct {
Config config.Config
Db *sqlx.DB
Config config.Config
DbEngin *gorm.DB
} }


func NewServiceContext(c config.Config) *ServiceContext { func NewServiceContext(c config.Config) *ServiceContext {
db, _ := sqlx.Open("mysql", c.DB.DataSource)
//启动Gorm支持
dbEngin, _ := gorm.Open(mysql.Open(c.DB.DataSource), &gorm.Config{
NamingStrategy: schema.NamingStrategy{
SingularTable: true, // 使用单数表名,启用该选项,此时,`User` 的表名应该是 `t_user`
},
Logger: logger.Default.LogMode(logger.Info),
})
return &ServiceContext{ return &ServiceContext{
Config: c,
Db: db,
Config: c,
DbEngin: dbEngin,
} }
} }

+ 0
- 23
adaptor/PCM-CORE/rpc/pcmcore.go View File

@@ -19,29 +19,6 @@ import (
var configFile = flag.String("f", "adaptor/PCM-CORE/rpc/etc/pcmcore.yaml", "the config file") var configFile = flag.String("f", "adaptor/PCM-CORE/rpc/etc/pcmcore.yaml", "the config file")


func main() { func main() {
//flag.Parse()
//
//var c config.Config
//conf.MustLoad(*configFile, &c)
//ctx := svc.NewServiceContext(c)
//
//s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {
// pcmCore.RegisterPcmCoreServer(grpcServer, server.NewPcmCoreServer(ctx))
//
// if c.Mode == service.DevMode || c.Mode == service.TestMode {
// reflection.Register(grpcServer)
// }
//})
//
////rpc log
//s.AddUnaryInterceptors(rpcserver.LoggerInterceptor)
//
//defer s.Stop()
//
//fmt.Printf("Starting rpc server at %s...\n", c.ListenOn)
//s.Start()

//-------


flag.Parse() flag.Parse()




+ 1
- 2
go.mod View File

@@ -1,6 +1,6 @@
module PCM module PCM


go 1.19
go 1.18


require ( require (
github.com/JCCE-nudt/zero-contrib/zrpc/registry/nacos v0.0.0-20230419021610-13bbc83fbc3c github.com/JCCE-nudt/zero-contrib/zrpc/registry/nacos v0.0.0-20230419021610-13bbc83fbc3c
@@ -10,7 +10,6 @@ require (
github.com/go-resty/resty/v2 v2.7.0 github.com/go-resty/resty/v2 v2.7.0
github.com/go-sql-driver/mysql v1.7.0 github.com/go-sql-driver/mysql v1.7.0
github.com/jinzhu/copier v0.3.5 github.com/jinzhu/copier v0.3.5
github.com/jmoiron/sqlx v1.3.5
github.com/nacos-group/nacos-sdk-go/v2 v2.2.1 github.com/nacos-group/nacos-sdk-go/v2 v2.2.1
github.com/pkg/errors v0.9.1 github.com/pkg/errors v0.9.1
github.com/robfig/cron/v3 v3.0.1 github.com/robfig/cron/v3 v3.0.1


+ 0
- 7
go.sum View File

@@ -562,7 +562,6 @@ github.com/go-redis/redis/v8 v8.11.5/go.mod h1:gREzHqY1hg6oD9ngVRbLStwAWKhA0FEgq
github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY= github.com/go-resty/resty/v2 v2.7.0 h1:me+K9p3uhSmXtrBZ4k9jcEAfJmuC8IivWHwaLZwPrFY=
github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I= github.com/go-resty/resty/v2 v2.7.0/go.mod h1:9PWDzw47qPphMRFfhsyk0NnSgvluHcljSMVIq3w7q0I=
github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc= github.com/go-sql-driver/mysql v1.7.0 h1:ueSltNNllEqE3qcWBTD0iQd3IpL/6U+mJxLkazJ7YPc=
github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI= github.com/go-sql-driver/mysql v1.7.0/go.mod h1:OXbVy3sEdcQ2Doequ6Z5BW6fXNQTmx+9S1MCJN5yJMI=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
@@ -744,8 +743,6 @@ github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHW
github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8=
github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks= github.com/jmoiron/sqlx v1.2.0/go.mod h1:1FEQNm3xlJgrMD+FBdI9+xvCksHtbpVBBw5dYhBSsks=
github.com/jmoiron/sqlx v1.3.5 h1:vFFPA71p1o5gAeqtEAwLU4dnX2napprKtHr7PYIcN3g=
github.com/jmoiron/sqlx v1.3.5/go.mod h1:nRVWtLre0KfCLJvgxzCsLVMogSvQ1zNJtpYr2Ccp0mQ=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4=
@@ -784,8 +781,6 @@ github.com/lann/builder v0.0.0-20180802200727-47ae307949d0/go.mod h1:dXGbAdH5GtB
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 h1:P6pPBnrTSX3DEVR4fDembhRWSsG5rVo6hYhAB/ADZrk= github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0 h1:P6pPBnrTSX3DEVR4fDembhRWSsG5rVo6hYhAB/ADZrk=
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw= github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw=
github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/lib/pq v1.10.7 h1:p7ZhMD+KsSRozJr34udlUrhboJwWAgCg34+/ZZNvZZw=
github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= github.com/lib/pq v1.10.7/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o=
github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= github.com/lyft/protoc-gen-star v0.6.0/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA=
github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA= github.com/lyft/protoc-gen-star v0.6.1/go.mod h1:TGAoBVkt8w7MPG72TrKIu85MIdXwDuzJYeZuUPFPNwA=
@@ -805,8 +800,6 @@ github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w=
github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= github.com/mattn/go-sqlite3 v1.9.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
github.com/mattn/go-sqlite3 v1.14.6 h1:dNPt6NO46WmLVt2DLNpwczCmdV5boIZ6g/tlDrlRUbg=
github.com/mattn/go-sqlite3 v1.14.6/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI=
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4=


Loading…
Cancel
Save