Pyro4,对象更改类(State patern)但Proxy没有看到它

时间:2015-11-18 12:14:01

标签: python class proxy state pyro

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

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

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

然而,Pyro4.Proxy没有看到对象改变了它的'调用初始化方法后的方法。但是,如果你看一下实际的对象(在一个单独的解释器中,在一个线程中运行Pyro4.Daemon) - __class__确实会改变,那里的一切都很好。问题出在Pyro4.Proxy方面。

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

PS

第一次调用时,Pyro4.Proxy似乎抓住了远程对象的方法。然后这些方法被冻结了。我可以刷新"这个程序不知怎的,请Proxy再次查看方法?

1 个答案:

答案 0 :(得分:0)

啊哈!所以答案是运行:

pyro_proxy._pyroGetMetadata()

它抓取有关远程对象的元数据并填充Pyro4.Proxy object。

的方法

链接: