Переглянути джерело

fix: catch error in subscription, propagate it to the main file

master
Blaz Smehov 9 години тому
джерело
коміт
af221806fb
2 змінених файлів з 10 додано та 2 видалено
  1. +5
    -1
      internal/app/bridge/app.go
  2. +5
    -1
      internal/pkg/bridge/mqtt.go

+ 5
- 1
internal/app/bridge/app.go Переглянути файл

@@ -52,7 +52,11 @@ func New(cfg *config.Config) (*BridgeApp, error) {
cleanup()
return nil, err
}
mqttClient.Subscribe()

if err := mqttClient.Subscribe(); err != nil {
cleanup()
return nil, err
}

return &BridgeApp{
Cfg: cfg,


+ 5
- 1
internal/pkg/bridge/mqtt.go Переглянути файл

@@ -48,10 +48,14 @@ func NewMQTTClient(cfg *config.Config, publishHandler func(mqtt.Message)) (*MQTT
}

// Subscribe subscribes to the default bridge topic.
func (m *MQTTClient) Subscribe() {
func (m *MQTTClient) Subscribe() error {
token := m.Client.Subscribe(subscribeTopic, 1, nil)
token.Wait()
if err := token.Error(); err != nil {
return fmt.Errorf("mqtt subscribe: %w", err)
}
slog.Info("MQTT subscribed", "topic", subscribeTopic)
return nil
}

// Disconnect disconnects the client with quiesce.


Завантаження…
Відмінити
Зберегти