From 5ecc4ba27afea3649a1d04001186b709d0926659 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Rasmussen?= Date: Tue, 2 Aug 2022 16:08:49 +0200 Subject: [PATCH] Use reloaded configuration in mainloop --- cmd/fermentord/loop.go | 6 ++++++ 1 file changed, 6 insertions(+) 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 }