/
grpc.go
29 lines (24 loc) · 1.05 KB
/
grpc.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package server
import (
"time"
"github.com/comeonjy/go-kit/grpc/reloadconfig"
"github.com/comeonjy/go-kit/pkg/xenv"
"github.com/comeonjy/go-kit/pkg/xlog"
"github.com/comeonjy/go-kit/pkg/xmiddleware"
"github.com/google/wire"
"google.golang.org/grpc"
"github.com/comeonjy/go-layout/api/v1"
"github.com/comeonjy/go-layout/configs"
"github.com/comeonjy/go-layout/internal/service"
)
var ProviderSet = wire.NewSet(NewGrpcServer, NewHttpServer)
func NewGrpcServer(srv *service.SchedulerService, conf configs.Interface, logger *xlog.Logger) *grpc.Server {
server := grpc.NewServer(
grpc.ConnectionTimeout(2*time.Second),
grpc.ChainUnaryInterceptor(
xmiddleware.GrpcLogger(xenv.GetEnv(xenv.TraceName), logger), xmiddleware.GrpcValidate, xmiddleware.GrpcRecover(logger), xmiddleware.GrpcAuth, xmiddleware.GrpcApm(conf.Get().ApmUrl, xenv.GetEnv(xenv.AppName), xenv.GetEnv(xenv.AppVersion), xenv.GetEnv(xenv.AppEnv))),
)
v1.RegisterSchedulerServer(server, srv)
reloadconfig.RegisterReloadConfigServer(server, reloadconfig.NewServer(conf))
return server
}