diff --git a/cmd/fermentord/loop.go b/cmd/fermentord/loop.go index 2d95bb3..b179cd1 100644 --- a/cmd/fermentord/loop.go +++ b/cmd/fermentord/loop.go @@ -35,10 +35,13 @@ func mainLoop(ctx context.Context, wg *sync.WaitGroup, js nats.JetStream) { // Controller config := configuration.Global() ctrl := controllers.NewChamberController(config) + + chConfigChange := make(chan configuration.Configuration, 1) chn := configuration.NewChangeNotifier() viper.OnConfigChange(chn.OnConfigChange) // Configuration updates + chn.Subscribe(chConfigChange) chn.Subscribe(temperature.ConfigUpdate) chn.Subscribe(ctrl.ConfigUpdates) //chn.Subscribe(display.ConfiguUpdate) @@ -129,6 +132,9 @@ func mainLoop(ctx context.Context, wg *sync.WaitGroup, js nats.JetStream) { ingest.AddState(state) //display.SetState(state) + case c := <-chConfigChange: + config = c + case <-ctx.Done(): return }