如何使用kazoo-packag在Python中添加子节点数据更新监视

2024-10-03 13:26:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我想使用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)

Tags: 数据path代码fromevent客户端示例data
2条回答

节点下的子节点已更改(已添加或删除子节点)。此事件并不表示子节点的数据已更改,子节点必须建立自己的监视。在

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

相关问题 更多 >