Ver a proveniência

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

master
Blaz Smehov há 10 horas
ascendente
cometimento
af221806fb
2 ficheiros alterados com 10 adições e 2 eliminações
  1. +5
    -1
      internal/app/bridge/app.go
  2. +5
    -1
      internal/pkg/bridge/mqtt.go

+ 5
- 1
internal/app/bridge/app.go Ver ficheiro

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

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


return &BridgeApp{ return &BridgeApp{
Cfg: cfg, Cfg: cfg,


+ 5
- 1
internal/pkg/bridge/mqtt.go Ver ficheiro

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


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


// Disconnect disconnects the client with quiesce. // Disconnect disconnects the client with quiesce.


Carregando…
Cancelar
Guardar