server.go 817 B

123456789101112131415161718192021222324252627282930313233
  1. package grpc
  2. import (
  3. "context"
  4. rpc "go-common/app/service/bbq/recsys/api/grpc/v1"
  5. "go-common/app/service/bbq/recsys/service"
  6. "go-common/library/net/rpc/warden"
  7. "google.golang.org/grpc"
  8. )
  9. // New 生成grpc服务
  10. func New(srv *service.Service) *warden.Server {
  11. // conf := &warden.ServerConfig{Addr: "0.0.0.0:9009"}
  12. // s := warden.NewServer(conf)
  13. s := warden.NewServer(nil)
  14. rpc.RegisterRecsysServer(s.Server(), srv)
  15. s.Use(middleware())
  16. _, err := s.Start()
  17. if err != nil {
  18. panic("run server failed!" + err.Error())
  19. }
  20. return s
  21. }
  22. // middleware middleware
  23. func middleware() grpc.UnaryServerInterceptor {
  24. return func(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp interface{}, err error) {
  25. //call chain
  26. resp, err = handler(ctx, req)
  27. return
  28. }
  29. }