2
pythonモジュールkazooを使用してzNodeで開始されたdatawatchプロセスを明示的に停止する方法はありますか?以下 は私がkazoo wikiを経て、方法の下に考え出しDATAWATCHkazooを使ってzookeeperノードでdatawatchを停止するには?
from kazoo.recipe.watchers import DataWatch
datawatch = DataWatch(client=zookeeper_client, path=path_to_znode, func=callback_function)
を作成した方法です。
- コールバックメソッド(ここではcallback_function)からFalseを返すと、zNodeのdatawatchが停止します。 しかし、この方法は私にとっては適切ではありません。なぜなら、callback_functionはユーザによって処理され、私の手では処理されないからです。
- プロセスが停止すると、datawatchは自動的に終了します。しかし、私はそのプロセスを止めたくありません。
これは現在私が使用しているハッキーな方法です。 datawatchクラスの下にプライベートメンバー変数 "_stopped"があります。私はそれを真実に設定しています。
datawatch._stopped = True
誰かがここでより良いソリューションを提案してくださいすることができます。おかげさまで
おかげ@Lorenzo、しかし、私はすでに私の場合は私がクライアント接続をクローズすることはできません私の質問のポイント2で述べました。 – Akshay