问题标签 [pyro]

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 投票
1 回答
985 浏览

python - Pyro4客户端未收到消息

当它的大小超过某个阈值时,我无法从 Pyro4 服务器(版本 4.39,serializer=pickle)取回一个简单的 numpy 数组。服务器处理请求并回复,但客户端保持挂起

代码如下:

服务器代码:

客户代码:

服务器输出:(200, 50000) Up and waiting ... 数据请求

所以看起来 Pyro 服务器处理来自客户端的请求并返回数据,但客户端永远不会得到它并且无限期地挂起等待接收消息。

PS:-相同的代码适用于较小的数组(200,5000)

有谁知道可能是什么问题?

非常感谢您的帮助,

0 投票
2 回答
197 浏览

python - 使 pyro4 代理可索引

我正在尝试使 pyro4 代理可索引。为了测试这一点,我从http://pythonhosted.org/Pyro4/intro.html#simple-example中获取了问候示例并对其进行了修改:

服务器:

客户:

[] 符号适用于服务器,但不适用于客户端代理。我得到:

TypeError:“代理”对象不支持索引

但是直接打电话__getitem__做工作。

0 投票
1 回答
47 浏览

python - Pyro4,对象更改类(状态模式)但代理看不到它

在应用程序中,我使用低级库并在单独的进程中运行它。与进程的连接是用 完成的Pyro4

库在工作之前需要初始化,之后需要资源释放。因此,我实现了状态模式以使两个状态很好地分开。

该库嵌入到一个对象中(由 调用Pyro4.Daemon)。它具有初始化方法,该方法执行必要的程序并将__class__对象更改为“就绪”对象,该方法具有调用库的所有方法。

但是,Pyro4.Proxy在调用初始化方法后看不到对象更改其方法。但是,如果您查看实际对象(在单独的解释器中,Pyro4.Daemon在线程中运行)-__class__确实会发生变化,并且那里的一切都很好。问题就在Pyro4.Proxy一边。

那么,是否可以在使用__class__时更改Pyro4?我只是做错了什么吗?

附言

当你第一次调用它时,它似乎Pyro4.Proxy抓住了远程对象的方法。然后方法被冻结。我可以以某种方式“刷新”这个程序,要求Proxy再次检查这些方法吗?

0 投票
1 回答
657 浏览

python - Pyro4 的 AttributeError

我试图用 Pyro4 发送一个对象。这是我的服务器代码:

我的客户看起来像这样:

我收到此错误: AttributeError: 'module' object has no attribute 'Player'

有什么意见吗?

0 投票
1 回答
147 浏览

python - Pyro4 的 KeyError

我试图用 Pyro4 发送一个对象。似乎它在途中发生了变化,就像我在服务器上使用 pickle.dumps 和 Pickle.loads 一样,但是当我尝试在客户端上使用 pickle.loads 时,它给了我一个KeyError.Server

和客户呼叫部分:

和错误

0 投票
1 回答
711 浏览

python - Pyro - 如何将 HMac 密钥与名称服务器一起使用?CommunicationError:hmac 密钥配置不对称

我正在使用 Pyro 4.34、Python 2.7 和 Jython 2.7。

名称服务器。我可以像这样启动名称服务器:

火焰兵服务器。文档指出我可以_pyroHmacKey在 Pyro 守护程序上设置属性,但该locateNS方法失败并带有NamingError cannot find Name Server.

查看 的 API locateNS,我看到它有一个名为hmac_key. 如果我去掉 _pyroHmacKey 并改用该 arg,Pyro 服务器可以正常启动。

客户端。文档说明我可以_pyroHmacKey在以下位置设置属性proxy

但是,对方法的第一次调用proxy失败:

0 投票
1 回答
350 浏览

python - Pyro - 防止 NameServer 引发 socket.error 地址已在使用中

我正在尝试强化 Pyro 应用程序以进行生产。我在名称服务器上遇到了以下问题。

如果名称服务器关闭并快速重新打开,似乎有 50% 的机会会抛出以下错误:

这可以通过在窗口 ( pyro4-ns) 中运行名称服务器、按 CTRL+C 并再次运行来测试。有时我可以连续做 10 次没有问题,但接下来的 10 次会提高socket.error. 我发现当我遇到这个错误时,名称服务器释放套接字大约需要 30 秒。

supervisord用来控制火焰兵。我发现以下配置可以改善一些问题。值得注意的是,startretries=50NameServer 释放套接字的时间总是超过 30 秒左右。这样,如果进程由于某种原因终止,supervisord则可以启动它而不会失败。

但是,如果在我的客户端执行过程中名称服务器死机,由于这个问题,重新连接到名称服务器需要 30 多秒。我在网络服务器中使用 Pyro 客户端来执行 REST 任务,所以这种延迟是不可接受的。

0 投票
0 回答
18 浏览

php - 如何在 pyro cms 中制作下拉菜单

我在部分文件夹中有文件“header.html”,这是我的代码

但是当我在浏览器中刷新时,只显示主菜单,这意味着子菜单没有显示。我应该更改我的代码吗?或者我还在我的数据库中为子菜单添加新表?

来自评论:

我在插件文件夹中有文件“shoesmart.php”:

我在数据库中的表名是“default_menu”,具有以下结构:

menu_id url_alias_id name status parent_id 1 868 Men 1 0 2 869 woman 1 0

0 投票
3 回答
6405 浏览

python - Pyro4:未能找到名称服务器

我对 Python 和 Pyro4 比较陌生。因此,我尝试遵循此页面Pyro - Python Remote Objects - 4.41的第二个示例,但是当我运行服务器时抛出此异常:

代码服务器:

首先在另一个终端运行 pyro-ns:

备注:我在 Debian 8 上工作并且我已经安装了:

运行这个例子

也许我错过了什么。任何想法为什么这不起作用,或者我做错了什么?提前致谢。

0 投票
1 回答
221 浏览

python - 如何检查 Pyro4 客户端是否还活着

情况:

Pyro4 服务器为 Pyro4 客户端提供 Pyro4 代理。

我想检测客户端是否确实还在使用这个代理,以便服务器可以将代理交给其他客户端。

我目前的想法是让服务器定期 ping 客户端。为此,客户端本身需要托管一个 Pyro Daemon,并为服务器提供一个 Pyro4 代理,以便服务器可以使用此代理来 ping 客户端。

有没有更清洁的方法来做到这一点?