run_server.go 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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. //init_serve.DMDataBaseORM()
  30. }
  31. if global.CONFIG.HTFutures.SyncTask.EnableTask {
  32. HTtask.StartCronJob()
  33. }
  34. if global.CONFIG.OracleJY.Account != "" {
  35. //初始化oracle
  36. init_serve.OracleJy()
  37. }
  38. // 启动任务
  39. init_serve.InitTask()
  40. //启动oss服务
  41. go startGRPCServer()
  42. fmt.Println("port:", global.CONFIG.Serve.Port)
  43. err := r.Run(fmt.Sprint("0.0.0.0:", global.CONFIG.Serve.Port)) // 监听并在 0.0.0.0:8080 上启动服务
  44. if err != nil {
  45. panic(fmt.Errorf("服务启动失败,Err:%s", err))
  46. } else {
  47. fmt.Println("Run:", fmt.Sprint("0.0.0.0:", global.CONFIG.Serve.Port))
  48. }
  49. }
  50. func startGRPCServer() {
  51. flag.Parse()
  52. lis, err := net.Listen("tcp", fmt.Sprintf(":%d", *port))
  53. if err != nil {
  54. global.LOG.Fatal(err)
  55. }
  56. // 建立rpc服务,并注册SensitiveServer
  57. s := grpc.NewServer(
  58. //grpc.UnaryInterceptor(rpc.SignatureInterceptor),
  59. //grpc.UnaryInterceptor(rpc.EncryptInterceptor),
  60. )
  61. sso.RegisterSSOLoginServer(s, &sso.SSOService{})
  62. // 启动服务
  63. err = s.Serve(lis)
  64. if err != nil {
  65. global.LOG.Fatal("rpc 服务启动失败,Err:", err)
  66. }
  67. }