diff options
| author | Chris Lu <chris.lu@gmail.com> | 2018-12-06 00:37:59 -0800 |
|---|---|---|
| committer | Chris Lu <chris.lu@gmail.com> | 2018-12-06 00:37:59 -0800 |
| commit | ffa2827ab162b37b75349dda7e73bf873ae1fdca (patch) | |
| tree | f41c92d7aa380561bb7677ff642706c61b58c251 /weed/notification/configuration.go | |
| parent | 63619f8b8e837156d2b486f08f538eabd23f687c (diff) | |
| download | seaweedfs-ffa2827ab162b37b75349dda7e73bf873ae1fdca.tar.xz seaweedfs-ffa2827ab162b37b75349dda7e73bf873ae1fdca.zip | |
fail fast if two notification queues or inputs are enabled
Diffstat (limited to 'weed/notification/configuration.go')
| -rw-r--r-- | weed/notification/configuration.go | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/weed/notification/configuration.go b/weed/notification/configuration.go index 1a5dfed75..f34ccf305 100644 --- a/weed/notification/configuration.go +++ b/weed/notification/configuration.go @@ -27,15 +27,26 @@ func LoadConfiguration(config *viper.Viper) { return } - for _, store := range MessageQueues { - if config.GetBool(store.GetName() + ".enabled") { - viperSub := config.Sub(store.GetName()) - if err := store.Initialize(viperSub); err != nil { + enabledQueue := "" + for _, queue := range MessageQueues { + if config.GetBool(queue.GetName() + ".enabled") { + if enabledQueue == "" { + enabledQueue = queue.GetName() + } else { + glog.Fatalf("Notification message queue is enabled for both %s and %s", enabledQueue, queue.GetName()) + } + } + } + + for _, queue := range MessageQueues { + if config.GetBool(queue.GetName() + ".enabled") { + viperSub := config.Sub(queue.GetName()) + if err := queue.Initialize(viperSub); err != nil { glog.Fatalf("Failed to initialize notification for %s: %+v", - store.GetName(), err) + queue.GetName(), err) } - Queue = store - glog.V(0).Infof("Configure notification message queue for %s", store.GetName()) + Queue = queue + glog.V(0).Infof("Configure notification message queue for %s", queue.GetName()) return } } |
