run_server.go 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. package core
  2. import (
  3. "eta/eta_bridge/global"
  4. "eta/eta_bridge/init_serve"
  5. "eta/eta_bridge/rpc/sso"
  6. _ "eta/eta_bridge/rpc/sso"
  7. HTtask "eta/eta_bridge/task/htfutures"
  8. "flag"
  9. "fmt"
  10. "google.golang.org/grpc"
  11. "net"
  12. )
  13. var (
  14. port = flag.Int("port", 50051, "")
  15. )
  16. func RunServe() {
  17. // 初始化路由
  18. r := init_serve.InitRouter()
  19. // 如果配置了redis,那么链接redis
  20. if global.CONFIG.Serve.UseRedis {
  21. //初始化redis
  22. init_serve.Redis()
  23. }
  24. // 初始化mysql数据库
  25. init_serve.Mysql()
  26. //初始化海通的相关逻辑
  27. if global.CONFIG.HTFutures.OaDBDns != "" {
  28. init_serve.DMDataBase()
  29. }
  30. if global.CONFIG.HTFutures.EnableTask {
  31. HTtask.StartCronJob()
  32. }
  33. if global.CONFIG.OracleJY.Account != "" {
  34. //初始化oracle
  35. init_serve.OracleJy()
  36. }
  37. // 启动任务
  38. init_serve.InitTask()
  39. //启动oss服务
  40. go startGRPCServer()
  41. fmt.Println("port:", global.CONFIG.Serve.Port)
  42. err := r.Run(fmt.Sprint("0.0.0.0:", global.CONFIG.Serve.Port)) // 监听并在 0.0.0.0:8080 上启动服务
  43. if err != nil {
  44. panic(fmt.Errorf("服务启动失败,Err:%s", err))
  45. } else {
  46. fmt.Println("Run:", fmt.Sprint("0.0.0.0:", global.CONFIG.Serve.Port))
  47. }
  48. }
  49. func startGRPCServer() {
  50. flag.Parse()
  51. lis, err := net.Listen("tcp", fmt.Sprintf(":%d", *port))
  52. if err != nil {
  53. global.LOG.Fatal(err)
  54. }
  55. // 建立rpc服务,并注册SensitiveServer
  56. s := grpc.NewServer(
  57. //grpc.UnaryInterceptor(rpc.SignatureInterceptor),
  58. //grpc.UnaryInterceptor(rpc.EncryptInterceptor),
  59. )
  60. sso.RegisterSSOLoginServer(s, &sso.SSOService{})
  61. // 启动服务
  62. err = s.Serve(lis)
  63. if err != nil {
  64. global.LOG.Fatal("rpc 服务启动失败,Err:", err)
  65. }
  66. }