zookeeper-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Techy Teck <comptechge...@gmail.com>
Subject Re: How to watch for events on the descendant nodes in ZooKeeper using kazoo?
Date Tue, 19 Nov 2013 17:33:28 GMT
Can anyone help me with this? I am stuck on this problem..

Or if there any better python client for Zookeeper then please let me know
as well?

On Mon, Nov 18, 2013 at 9:41 PM, Techy Teck <comptechgeeky@gmail.com> wrote:

> 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 -
>     /my/example
> couple of other nodes which might get added to my above root node will be
> like this -
>     /my/example/workflow
>     /my/example/workflow/v1
>     /my/example/workflow/v1/step1
>     /my/example/workflow/v1/step2
> 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
> well.
> 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?
>     #!/usr/bin/python
>     from kazoo.client import KazooClient
>     zk = KazooClient(hosts='')
>     zk.start()
>     @zk.ChildrenWatch("/my/example")
>     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](
> http://kazoo.readthedocs.org/en/latest/basic_usage.html#watchers)

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