【发布时间】:2017-03-02 09:20:42
【问题描述】:
如何使用 python 模块 kazoo 显式停止在 zNode 上启动的 datawatch 进程? 以下是我创建数据观察的方式
from kazoo.recipe.watchers import DataWatch
datawatch = DataWatch(client=zookeeper_client, path=path_to_znode, func=callback_function)
我浏览了kazoo wiki 并想出了以下方法。
- 从传递的回调方法返回 False(此处为 callback_function)将停止 zNode 上的数据监视。 但是这种方式不适合我,因为 callback_function 是由用户处理而不是在我手中。
- 当进程停止时,datawatch 会自动被终止。但我不想停止这个过程。
-
这是我目前使用的 hacky 方式。 datawatch 类下有一个私有成员变量“_stopped”。我将其设置为 true。
datawatch._stopped = True
有人可以在这里提出更好的解决方案吗? 谢谢。
【问题讨论】:
标签: python apache-zookeeper kazoo