【问题标题】:How to add children node data update watch in Python using kazoo package如何使用 kazoo 包在 Python 中添加子节点数据更新监视
【发布时间】:2015-06-25 22:03:07
【问题描述】:

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

【问题讨论】:

    标签: python apache-zookeeper kazoo


    【解决方案1】:
    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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2013-12-03
        • 2013-12-02
        • 1970-01-01
        • 2017-03-02
        • 1970-01-01
        • 1970-01-01
        • 2013-12-02
        • 2018-07-12
        • 2012-05-05
        相关资源
        最近更新 更多