Files
atom/services/grpc.go
yanghao05 d28d9649ed add close
2023-06-01 11:02:10 +08:00

26 lines
503 B
Go

package services
import (
"github.com/rogeecn/atom/container"
"github.com/rogeecn/atom/providers/grpcs"
"go.uber.org/dig"
)
type GrpcService struct {
dig.In
Server *grpcs.Grpc
Services []grpcs.ServerService `group:"grpc_server_services"`
}
func ServeGrpc() error {
defer container.Close()
return container.Container.Invoke(func(grpc GrpcService) error {
for _, svc := range grpc.Services {
grpc.Server.RegisterService(svc.Name(), svc.Register)
}
return grpc.Server.Serve()
})
}