resource.go 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package main
  2. import (
  3. "flag"
  4. "fmt"
  5. "os"
  6. "os/signal"
  7. "syscall"
  8. "bp.jydev.jianyu360.cn/BaseService/gateway/core/node"
  9. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/api/internal/config"
  10. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/api/internal/handler"
  11. "bp.jydev.jianyu360.cn/BaseService/resourceCenter/api/internal/svc"
  12. . "bp.jydev.jianyu360.cn/BaseService/resourceCenter/public/db"
  13. "github.com/zeromicro/go-zero/core/conf"
  14. "github.com/zeromicro/go-zero/core/logx"
  15. "github.com/zeromicro/go-zero/rest"
  16. )
  17. var configFile = flag.String("f", "etc/resource.yaml", "the config file")
  18. func main() {
  19. flag.Parse()
  20. var c config.Config
  21. conf.MustLoad(*configFile, &c)
  22. closeNotify, err := node.NewNode(c.Etcd.Hosts...).Register(c.Etcd.Key, fmt.Sprint(c.Port))
  23. if err != nil {
  24. panic(err)
  25. }
  26. // logx 根据配置初始化
  27. logx.MustSetup(c.Logx)
  28. //初始化mysql
  29. InitMysql(c.Mysql.BaseService)
  30. //
  31. ctx := svc.NewServiceContext(c)
  32. server := rest.MustNewServer(c.RestConf)
  33. defer server.Stop()
  34. handler.RegisterHandlers(server, ctx)
  35. fmt.Printf("Starting server at %s:%d...\n", c.Host, c.Port)
  36. server.Start()
  37. quit := make(chan os.Signal, 1)
  38. signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
  39. <-quit
  40. closeNotify()
  41. }