pcm-modelarts/pcmmodelarts.go

65 lines
2.0 KiB
Go
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package main
import (
"flag"
"fmt"
"github.com/zeromicro/go-zero/core/conf"
"github.com/zeromicro/go-zero/core/service"
"github.com/zeromicro/go-zero/zrpc"
"gitlink.org.cn/JointCloud/pcm-modelarts/internal/pkg/cron"
imagesserviceServer "gitlink.org.cn/JointCloud/pcm-modelarts/internal/server/imagesservice"
modelartsserviceServer "gitlink.org.cn/JointCloud/pcm-modelarts/internal/server/modelartsservice"
"gitlink.org.cn/JointCloud/pcm-modelarts/internal/svc"
"gitlink.org.cn/JointCloud/pcm-modelarts/internal/util"
"gitlink.org.cn/JointCloud/pcm-modelarts/modelarts"
"gitlink.org.cn/JointCloud/pcm-modelarts/routers"
"google.golang.org/grpc"
"google.golang.org/grpc/reflection"
"sync"
)
// startGinServer 启动Gin框架的服务
func startGinServer(wg *sync.WaitGroup) {
rt, _ := routers.InitRouter(nil)
fmt.Printf("Start GIN server success\n")
rt.Run(":2025")
}
// startGoZeroServer 启动go-zero框架的服务这里是一个简化的示例
func startGoZeroServer(wg *sync.WaitGroup) {
flag.StringVar(&util.FileName, "f", "etc/pcmmodelarts.yaml", "the config file")
flag.Parse()
conf.MustLoad(util.FileName, &util.C)
ctx := svc.NewServiceContext(util.C)
s := zrpc.MustNewServer(util.C.RpcServerConf, func(grpcServer *grpc.Server) {
modelarts.RegisterModelArtsServiceServer(grpcServer, modelartsserviceServer.NewModelArtsServiceServer(ctx))
modelarts.RegisterImagesServiceServer(grpcServer, imagesserviceServer.NewImagesServiceServer(ctx))
if util.C.Mode == service.DevMode || util.C.Mode == service.TestMode {
reflection.Register(grpcServer)
}
})
defer s.Stop()
// 启动并添加定时任务
ctx.Cron.Start()
cron.AddCronGroup(ctx)
fmt.Printf("Starting rpc server at %s...\n", util.C.ListenOn)
s.Start()
}
func main() {
var wg sync.WaitGroup
// 启动Gin服务
wg.Add(1)
go startGinServer(&wg)
// 启动go-zero服务
wg.Add(1)
go startGoZeroServer(&wg)
// 等待两个服务都启动完成(实际上,由于服务是长期运行的,这里会一直等待)
wg.Wait()
}