subscribe.go 630 B

12345678910111213141516171819202122232425262728
  1. package odbc
  2. import (
  3. "context"
  4. "git.wecise.com/wecise/odb-go/odb"
  5. )
  6. func SubscribeDataChangeTest(client odb.Client) {
  7. SubscribeTest(client, "CLASS_DATA_CHANGE:/")
  8. SubscribeTest(client, "META_DATA_CHANGE:/")
  9. }
  10. func SubscribeTest(client odb.Client, topic string) {
  11. sub := client.Subscribe(context.Background(), topic)
  12. go func() {
  13. defer func() {
  14. if err := sub.Unsubscribe(context.Background()); err != nil {
  15. log.Error(err)
  16. return
  17. }
  18. }()
  19. for m := range sub.Channel() {
  20. string_message := m.EventData().String()
  21. log.Info(topic + " received " + topic + " message " + "\n" + string_message)
  22. }
  23. }()
  24. }