knowledge.go 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. package main
  2. import (
  3. mc "app.yhyue.com/moapp/jybase/common"
  4. "app.yhyue.com/moapp/jybase/endless"
  5. "bp.jydev.jianyu360.cn/BaseService/gateway/core/node"
  6. "fmt"
  7. "github.com/zeromicro/go-zero/rest"
  8. . "knowledgeBase/api/knowledge/common"
  9. "knowledgeBase/api/knowledge/internal/handler"
  10. "knowledgeBase/api/knowledge/internal/svc"
  11. "log"
  12. "os"
  13. "os/signal"
  14. "syscall"
  15. )
  16. //var configFile = flag.String("f", "etc/knowledge-api.yaml", "the config file")
  17. func main() {
  18. //注册代理服务
  19. closeNotify, err := node.NewNode(C.Gateway.Etcd...).Register(C.Gateway.ServerCode, mc.InterfaceToStr(C.Port))
  20. if err != nil {
  21. panic(err)
  22. }
  23. //
  24. go func() {
  25. err := endless.ListenAndServe(":"+mc.InterfaceToStr(C.WebRpcPort), nil, func() {})
  26. if err != nil {
  27. log.Println("ListenAndServe: ", err)
  28. }
  29. }()
  30. ctx := svc.NewServiceContext(C)
  31. server := rest.MustNewServer(C.RestConf)
  32. defer server.Stop()
  33. handler.RegisterHandlers(server, ctx)
  34. fmt.Printf("Starting server at %s:%d...\n", C.Host, C.Port)
  35. server.Start()
  36. quit := make(chan os.Signal, 1)
  37. signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
  38. <-quit
  39. closeNotify()
  40. }