问题标签 [kazoo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3851 浏览

python - zookeeper 锁保持锁定状态

我正在使用 celery 和 zookeeper (kazoo lock) 来锁定我的工人。当我在释放锁之前杀死(-9)一名工作人员时,我遇到了一个问题,然后该锁将永远保持锁定状态。

所以我的问题是:杀死进程是否会释放该进程中的锁,或者这是zookeeper中的一些错误?

0 投票
1 回答
2691 浏览

python-3.x - 如何在kazoo中使用zookeeper watch来阻止程序

我阅读了kazoo的文档。然后我在网站上运行了代码示例,每次运行时都会调用watch的func,我想阻止程序直到删除一个节点的子节点,我该怎么做?

当前代码:

0 投票
1 回答
9886 浏览

python - 如何使用 Python kazoo 库?

我打算为 Zookeeper 使用 Python kazoo 库。这里完全是关于 Python 的问题,而不是 zookeeper 我想这意味着如何正确使用 Python kazoo..

我对 python 完全陌生,所以我不知道如何开始以及如何使用 kazoo 与 zookeeper 连接。

这是我正在阅读的开始使用 kazoo for Zookeeper 的文档。

http://kazoo.readthedocs.org/en/latest/install.html

在那个 wiki 中,他们要求安装 kazoo。他们为此使用了一些 pip 命令?

pip 在这里做什么?我目前正在使用 Windows,所以我安装了 cygwin 和 python。我正在使用 Python 2.7.3

现在我所做的是——我从上面的网站完全复制了这个命令——pip install kazoo并在我的 cygwin 命令提示符下运行它。

它安装正确吗?现在我可以开始用python编写代码来连接zookeeper了吗?

很抱歉问了所有这些愚蠢的问题,因为我没有任何 python 背景,所以在这里学习一点..

我猜这完全是关于 Python 的问题,而不是 zookeeper。

0 投票
1 回答
3228 浏览

python - 如何使用 kazoo 在 ZooKeeper 的后代节点上监视事件?

我最近开始为 Zookeeper 使用 Python。我正在使用kazooZookeeper 库。我需要密切关注我的根节点,即 -

可能会添加到我上面的根节点的其他几个节点将是这样的 -

现在我需要检查添加到根节点的子节点/my/example是否/my/example/workflow存在。如果workflow添加了节点,/my/example那么我将/my/example/workflow只监视节点,如果在节点中添加了任何新的子/my/example/workflow节点,那么我也需要监视该节点。

假设/my/example/workflowis的孩子/my/example/workflow/v1,所以现在我需要密切关注/my/example/workflow/v1,然后如果在这个节点上添加了任何新节点,/my/example/workflow/v1例如/my/example/workflow/v1/step1然后/my/example/workflow/v1/step2我需要打印/my/example/workflow/v1节点的孩子,我现在不会制作任何新的手表.

现在我不知道如何继续在我的孩子身上调用手表,直到某一点,在这种情况下,直到/my/example/workflow/v1我需要继续观察,一旦所有的步骤节点都加起来,我需要打印/my/example/workflow/v1. 下面是我的代码,它适用于仅在一个根节点上观看,现在我不确定如何解决上述问题?

任何帮助都非常感谢。我通过阅读这里的 kazoo 教程来关注文档

0 投票
2 回答
2782 浏览

python - 如何使用 kazoo 在 Python 中观看后代子节点?

我最近开始使用Python for Zookeeper. 我正在使用kazooZookeeper 库。

我有一个非常简单的用例,将kazoo用于 Zookeeper。我有一个根节点 - /root。现在我需要监视根节点/root,如果添加到根节点的新节点/root是,/root/testing那么我将只监视该/root/testing节点。我不想监视除节点之外的任何其他testing节点。然后如果有任何新的孩子被添加到/root/testing节点上,那么我也会密切关注他们。

假设下面的孩子被加起来 -

然后我也会关注test1节点。

这可以在 Zookeeper 中使用 Kazoo 吗?/root我只能使用以下代码监视一个 Zookeeper 节点( ):

谁能帮我在子节点上制作多个手表?

0 投票
2 回答
6469 浏览

python - 当 zookeeper 状态自动更改时,Watches 和 Ephemeral 节点不起作用?

我对 Python Kazoo库有一个非常奇怪的案例。我在下面的代码中所做的是 -

一旦我使用 kazoo 库连接到 Zookeeper,我就创建了一个临时节点,然后监视其他节点,然后我继续在无限循环中永远运行程序。我还向 Zookeeper 添加了一个监听器这也将监视状态。

一切对我来说都运行良好,临时节点已启动,在我的 znode 上观看也运行良好......

有时,由于连接中断或断开,我会看到非常奇怪的行为。正如我上面提到的,我已经向 zookeeper 添加了一个监听器,它将监视状态,我也有一个 print 语句。我总是看到,那些 print 语句被打印为Lost, Suspended, Connected,我相信是因为连接中断和之后我的临时节点死了,我在 znode 上的手表也不能正常工作。

下面是我永远运行的代码 -

有没有办法克服这个问题?每当我的 Zookeeper 状态更改为LostorSuspended或时,我都希望这样做Connected。我想通过再次创建它来启动我的临时节点(如果这是正确的方法),并且我在 znode 上的手表也能正常工作。

因为我将永远运行我的程序,所以无论出于何种原因,如果 Zookeeper 状态由于连接中断而发生变化并且它会自动重新连接,那么我需要确保我的临时节点也已启动并且我在 znode 上的手表也开始工作自动地..

目前,如果状态自动更改,我的短暂死机和手表也不起作用..

知道如何克服这个问题吗?

0 投票
1 回答
972 浏览

django - 在 django 中使用 kazoo(zookeeper 客户端)

我想知道是否有人可以指出我在 Django 应用程序中使用 kazoo 的示例。我的用例是使用 kazoo 在请求周期内检索值列表并处理它们。

任何指针将不胜感激。

0 投票
6 回答
154164 浏览

python - 如何在 Python 中合并两个 json 字符串?

我最近开始使用 Python,我正在尝试将我的 JSON 字符串之一与现有的 JSON 字符串连接起来。我也在使用 Zookeeper,所以当我使用 Python kazoo 库时,我从 zookeeper 节点获取现有的 json 字符串。

如果我打印jsonStringA它会给我这样的 -

但如果我这样做print json.loads(jsonString),它会像这样打印出来 -

这里jsonStringA将有我现有的 JSON 字符串。现在我有另一个键值对需要添加到现有的jsonStringA-

下面是我的 Python 代码 -

从zookeeper中提取后,我的现有jsonStringA将是这样的-

现在我需要将此键值对附加到jsonStringA-

所以简而言之,我需要合并以下键值对 -

所以最终的 JSON 字符串看起来像这样 -

这可能吗?

0 投票
1 回答
1303 浏览

python - 如何在 Python 中表示字节 json 字符串

我正在使用 Python 和 Zookeeper,因为我在 Python 中使用 kazoo 库。这个问题与 Zookeeper 或 kazoo 库无关。我想这主要与Python有关。

以下是我的两个变量 -

现在我需要使用这两个变量来创建一个字节 json 字符串,然后将该 json 字符串作为 Zookeeper 节点中的数据写入,所以下面是我们创建节点并写入数据的语法 -

不知何故,上面的行抛出了一个异常——

任何想法我在这里做错了什么?我正在尝试制作上述变量的 JSON 字符串。

这是有关kazoo 库的详细信息

更新:-

如果我使用这种语法,那么它工作正常 -

我可以看到这样的数据 -

0 投票
0 回答
2068 浏览

python - 找不到记录器“kazoo.client”的处理程序

在为以下代码提供硬编码值时,它工作正常。

但是以下几行给出了错误,例如No handlers could be found for logger "kazoo.client"

在这方面的任何帮助都是显而易见的。