slowwild.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package main
  2. import (
  3. "flag"
  4. "fmt"
  5. "slowwild/internal/config"
  6. "slowwild/internal/handler"
  7. "slowwild/internal/middleware/auth"
  8. "slowwild/internal/server"
  9. "slowwild/internal/svc"
  10. "git.banshen.xyz/huangguangrong/slow_wild_protobuff/slowwild/slowwildserver"
  11. "github.com/zeromicro/go-zero/core/conf"
  12. "github.com/zeromicro/go-zero/core/service"
  13. "github.com/zeromicro/go-zero/zrpc"
  14. "google.golang.org/grpc"
  15. "google.golang.org/grpc/reflection"
  16. )
  17. var configFile = flag.String("f", "etc/slowwild.yaml", "the config file")
  18. func main() {
  19. flag.Parse()
  20. var c config.Config
  21. conf.MustLoad(*configFile, &c)
  22. ctx := svc.NewServiceContext(c)
  23. s := zrpc.MustNewServer(c.RpcServerConf, func(grpcServer *grpc.Server) {
  24. slowwildserver.RegisterSlowWildServerServer(grpcServer, server.NewSlowWildServerServer(ctx))
  25. if c.Mode == service.DevMode || c.Mode == service.TestMode {
  26. reflection.Register(grpcServer)
  27. }
  28. })
  29. defer s.Stop()
  30. // 添加用户认证拦截器
  31. s.AddUnaryInterceptors(auth.NewUserAuthInterceptor())
  32. // 开一个协程专门监听消息推送
  33. go func(svc *svc.ServiceContext, conf config.Config) {
  34. listen := handler.NewListen(ctx)
  35. serviceGroup := service.NewServiceGroup()
  36. defer serviceGroup.Stop()
  37. for _, s := range listen.Services() {
  38. serviceGroup.Add(s)
  39. }
  40. serviceGroup.Start()
  41. }(ctx, c)
  42. fmt.Printf("Starting rpc server at %s...\n", c.ListenOn)
  43. s.Start()
  44. }