6 Star 11 Fork 1

distill/distill-infra

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
grpc.go 1.21 KB
一键复制 编辑 原始数据 按行查看 历史
胡正阳 提交于 2021-09-16 18:14 . integration the corba and go-restful
package apigrpc
import (
"context"
"gitee.com/banyanhouse/distill-infra"
"k8s.io/klog/v2"
"reflect"
"strconv"
)
var apiInitializerRegister *GRpcInitializeRegister = new(GRpcInitializeRegister)
//注册WEB API初始化对象
func RegisterGRpcApi(ai GRpcInitializer) {
apiInitializerRegister.Register(ai)
}
func SetupGRpcApi(ai GRpcInitializer) {
apiInitializerRegister.Setup(ai)
}
// 获取注册的web api初始化对象
func GetGRpcApiInitializers() []GRpcInitializer {
return apiInitializerRegister.Initializers
}
func GetGRpcSetupApis() []GRpcInitializer {
return apiInitializerRegister.SetupApis
}
type GRpcApiStarter struct {
infra.BaseStarter
}
//func (i *GRpcApiStarter) StartBlocking() bool {
// return true
//}
func (w *GRpcApiStarter) Start(ctx context.Context) {
//grpcName := ctx.Props().App.Name
grpcName := infra.Props(ctx).App.Name
//grpcPort := ":" + strconv.Itoa(ctx.Props().App.Port)
grpcPort := ":" + strconv.Itoa(infra.Props(ctx).App.Port)
for _, v := range GetGRpcApiInitializers() {
of := reflect.TypeOf(v)
klog.Info("Init Api:%v", of.String())
v.Init(grpcName, grpcPort)
}
for _, v := range GetGRpcSetupApis() {
klog.Info("Setup Api:%v", v)
v.Setup(grpcName, grpcPort)
}
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/banyanhouse/distill-infra.git
git@gitee.com:banyanhouse/distill-infra.git
banyanhouse
distill-infra
distill-infra
v0.0.25

搜索帮助