首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用kazoo停止动物园管理员节点上的数据访问?

如何使用kazoo停止动物园管理员节点上的数据访问?
EN

Stack Overflow用户
提问于 2016-10-20 11:36:06
回答 1查看 705关注 0票数 2

如何使用python模块kazoo显式停止在zNode上启动的datawatch进程?下面是我创建datawatch的方式

代码语言:javascript
复制
from   kazoo.recipe.watchers    import DataWatch
datawatch = DataWatch(client=zookeeper_client, path=path_to_znode, func=callback_function)

我浏览了kazoo wiki并找出了下面的方法。

  1. 从传递的回调方法返回False (此处为callback_function)将停止zNode上的数据仓库。但是这种方式不适合我,因为callback_function是由用户处理的,而不是在我手中。
  2. 当进程停止时,datawatch会自动被杀死。但我不想阻止这个过程。
  3. 这是我目前使用的讨厌的方式。datawatch类下有一个私有成员变量"_stopped“。我要证明这是真的。 datawatch._stopped =真

有人能在这里提出更好的解决方案吗。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-12-19 14:20:05

DataWatch医生还说:

如果客户端连接被关闭(使用close命令),DataWatch将不再获得更新。所以停止动物园管理员客户应该就足够了。

代码语言:javascript
复制
from kazoo.client import KazooClient

zk = KazooClient(hosts='127.0.0.1:2181')
zk.start()
datawatch = DataWatch(client=zk, path=path_to_znode, func=callback_function)
# time pass....
zk.stop()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40153340

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档