renewer.go 557 B

1234567891011121314151617181920212223242526272829303132333435
  1. package discov
  2. import "zero/core/logx"
  3. type (
  4. Renewer interface {
  5. Start()
  6. Stop()
  7. Pause()
  8. Resume()
  9. }
  10. etcdRenewer struct {
  11. *Publisher
  12. }
  13. )
  14. func NewRenewer(endpoints []string, key, value string, renewId int64) Renewer {
  15. var publisher *Publisher
  16. if renewId > 0 {
  17. publisher = NewPublisher(endpoints, key, value, WithId(renewId))
  18. } else {
  19. publisher = NewPublisher(endpoints, key, value)
  20. }
  21. return &etcdRenewer{
  22. Publisher: publisher,
  23. }
  24. }
  25. func (sr *etcdRenewer) Start() {
  26. if err := sr.KeepAlive(); err != nil {
  27. logx.Error(err)
  28. }
  29. }