bxsubscribe.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package main
  2. import (
  3. "bp.jydev.jianyu360.cn/BaseService/jyMicroservices/jyBXSubscribe/entity"
  4. "bp.jydev.jianyu360.cn/BaseService/jyMicroservices/jyBXSubscribe/api/internal/handler"
  5. "bp.jydev.jianyu360.cn/BaseService/jyMicroservices/jyBXSubscribe/api/internal/svc"
  6. // logrusx "app.yhyue.com/moapp/jylogx/logx"
  7. "fmt"
  8. "net/http"
  9. "os"
  10. "os/signal"
  11. "syscall"
  12. "bp.jydev.jianyu360.cn/BaseService/gateway/core/node"
  13. // "github.com/zeromicro/go-zero/core/logx"
  14. IC "bp.jydev.jianyu360.cn/BaseService/jyMicroservices/jyBXSubscribe/api/init"
  15. MC "app.yhyue.com/moapp/jybase/common"
  16. "github.com/zeromicro/go-zero/rest"
  17. )
  18. func main() {
  19. //注册代理服务
  20. closeNotify, err := node.NewNode(IC.C.Gateway.Etcd...).Register(IC.C.Gateway.ServerCode, MC.InterfaceToStr(IC.C.Port))
  21. if err != nil {
  22. panic(err)
  23. }
  24. //
  25. //go func() {
  26. // err := endless.ListenAndServe(":"+MC.InterfaceToStr(IC.C.Webrpcport), nil, func() {})
  27. // if err != nil {
  28. // log.Println("ListenAndServe: ", err)
  29. // }
  30. //}()
  31. ctx := svc.NewServiceContext(IC.C)
  32. server := rest.MustNewServer(IC.C.RestConf)
  33. defer server.Stop()
  34. //全局中间件
  35. server.Use(func(next http.HandlerFunc) http.HandlerFunc {
  36. return func(w http.ResponseWriter, r *http.Request) {
  37. defer func() {
  38. MC.AddMgoLogs(IC.MgoLog, r, IC.C.MgoLogsName, IC.ExcludeUrl, IC.C.MgoLogsCount)
  39. }()
  40. next.ServeHTTP(w, r)
  41. }
  42. })
  43. handler.RegisterHandlers(server, ctx)
  44. //日志记录
  45. // logx.SetWriter(logrusx.NewLogrusWriter())
  46. IC.SubscribeUpdateLog = entity.NewSaveLog(IC.C.SubscribeUpdateLog.Name, IC.C.SubscribeUpdateLog.CollName, IC.C.SubscribeUpdateLog.MgoSaveCacheSize, IC.C.SubscribeUpdateLog.SPSize, IC.C.SubscribeUpdateLog.BulkSize, IC.C.SubscribeUpdateLog.TimeAfter, IC.C.SubscribeUpdateLog.Timeout, IC.MgoLog)
  47. go IC.SubscribeUpdateLog.SaveMgo()
  48. fmt.Printf("Starting server at %s:%d...\n", IC.C.Host, IC.C.Port)
  49. server.Start()
  50. quit := make(chan os.Signal, 1)
  51. signal.Notify(quit, syscall.SIGINT, syscall.SIGTERM)
  52. <-quit
  53. closeNotify()
  54. }