func listenToZookeeper(conf configuration.Configuration, eventBus *event_bus.EventBus) *zk.Conn { serviceConf := conf.Bamboo.Zookeeper serviceConf.Path = fmt.Sprintf("%s/%s", serviceConf.Path, "services") serviceCh, serviceConn := createAndListen(serviceConf) weightConf := conf.Bamboo.Zookeeper weightConf.Path = fmt.Sprintf("%s/%s", weightConf.Path, "weights") weightCh, _ := createAndListen(weightConf) go func() { for { select { case <-serviceCh: eventBus.Publish(event_bus.ServiceEvent{EventType: "change"}) } } }() go func() { for { select { case <-weightCh: eventBus.Publish(event_bus.WeightEvent{EventType: "change"}) } } }() return serviceConn }
func listenToZookeeper(conf configuration.Configuration, eventBus *event_bus.EventBus) *zk.Conn { serviceCh, serviceConn := createAndListen(conf.Bamboo.Zookeeper) go func() { for { select { case _ = <-serviceCh: eventBus.Publish(event_bus.ServiceEvent{EventType: "change"}) } } }() return serviceConn }