我想使用kazoo客户端在Python的节点的所有子节点上添加监视,但ChildrenWatch
仅监视子级添加或删除不用于任何子节点的数据更新。我正在寻找一个完成这项任务的简单配方。
示例代码将是这样的
from kazoo.client import KazooClient
zk = KazooClient(hosts='127.0.0.1:2181')
zk.start()
@zk.SomeRecipe("/root")
def watch_children_update(event):
print("Updated child at path:%s data:%s stat:%s" % event.path, event.data, event.stat)
答案 0 :(得分:0)
from kazoo.client import KazooClient
@client.DataWatch('/path/to/watch')
def my_func(data, stat):
print("Data is %s" % data)
print("Version is %s" % stat.version)
# Or if you want the event object
@client.DataWatch('/path/to/watch')
def my_func(data, stat, event):
print("Data is %s" % data)
print("Version is %s" % stat.version)
print("Event is %s" % event)
您需要的是DataWatch
答案 1 :(得分:0)
节点下的子代已更改(添加或删除了子代)。此事件并不表示子节点的数据已更改,子节点的数据必须已建立其自己的监视。