zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Techy Teck <comptechge...@gmail.com>
Subject How to watch for events on the descendant nodes in ZooKeeper using kazoo?
Date Tue, 19 Nov 2013 05:41:06 GMT
I recently started working with Python for Zookeeper. I am using `kazoo`
library for Zookeeper. I need to keep a watch on my root node which is -


couple of other nodes which might get added to my above root node will be
like this -


Now I need to check whether the children which got added in root node
`/my/example` is `/my/example/workflow` or not. If `workflow` node gets
added up in `/my/example` then I will keep a watch on
`/my/example/workflow` node only and if any new children gets added up in
`/my/example/workflow` node then I need to keep a watch on that node as

Let's say, children of `/my/example/workflow` is `/my/example/workflow/v1`,
so now I need to keep a watch on `/my/example/workflow/v1` and then if any
new nodes gets added up on this node `/my/example/workflow/v1` such as
`/my/example/workflow/v1/step1` and `/my/example/workflow/v1/step2` then I
need to print the children of `/my/example/workflow/v1` node and I won't
make any new watches now.

Now I am not sure how to keep on calling watches on my children until
certain point, here in this case till `/my/example/workflow/v1` I need to
keep on watching and as soon as all the steps nodes gets added up, I need
to print the children of `/my/example/workflow/v1`. Below is my code which
works fine for watching on only one root node and now I am not sure how to
do my above problem?

    from kazoo.client import KazooClient

    zk = KazooClient(hosts='')

    def watch_children(children):
        print("Children are now: %s" % children)

Any help is really appreciated on this. I was following the documentation
by reading the kazoo tutorial from [here](

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message