mirror of https://github.com/docker/docs.git
callback 1 time before looping over the zookeeper's event channel
Signed-off-by: Chanwit Kaewkasi <chanwit@gmail.com>
This commit is contained in:
parent
3dfc92639c
commit
1b8166c7a5
|
|
@ -56,21 +56,30 @@ func (s *ZkDiscoveryService) Fetch() ([]*discovery.Node, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
var nodes []*discovery.Node
|
||||
return s.createNodes(addrs), nil
|
||||
}
|
||||
|
||||
func (s *ZkDiscoveryService) createNodes(addrs []string) (nodes []*discovery.Node) {
|
||||
nodes = make([]*discovery.Node, 0)
|
||||
if addrs == nil {
|
||||
return
|
||||
}
|
||||
|
||||
for _, addr := range addrs {
|
||||
nodes = append(nodes, discovery.NewNode(addr))
|
||||
}
|
||||
|
||||
return nodes, nil
|
||||
return
|
||||
}
|
||||
|
||||
func (s *ZkDiscoveryService) Watch(callback discovery.WatchCallback) {
|
||||
|
||||
_, _, eventChan, err := s.conn.ChildrenW(s.path)
|
||||
addrs, _, eventChan, err := s.conn.ChildrenW(s.path)
|
||||
if err != nil {
|
||||
log.Debugf("[ZK] Watch aborted")
|
||||
return
|
||||
}
|
||||
nodes := s.createNodes(addrs)
|
||||
callback(nodes)
|
||||
|
||||
for e := range eventChan {
|
||||
if e.Type == zk.EventNodeChildrenChanged {
|
||||
|
|
|
|||
Loading…
Reference in New Issue