component.go 601 B

12345678910111213141516171819202122232425262728293031
  1. package checkCenter
  2. import (
  3. mhayaFacade "github.com/mhaya/facade"
  4. rpcCenter "github.com/mhaya/game/game_cluster/internal/rpc/center"
  5. mhayaLogger "github.com/mhaya/logger"
  6. "time"
  7. )
  8. // Component 启动时,检查center节点是否存活
  9. type Component struct {
  10. mhayaFacade.Component
  11. }
  12. func New() *Component {
  13. return &Component{}
  14. }
  15. func (c *Component) Name() string {
  16. return "run_check_component"
  17. }
  18. func (c *Component) OnAfterInit() {
  19. for {
  20. if rpcCenter.Ping(c.App()) {
  21. break
  22. }
  23. time.Sleep(2 * time.Second)
  24. mhayaLogger.Warn("center node connect fail. retrying in 2 seconds.")
  25. }
  26. }