Hamish Sanderson wrote:
Reading the docs. A few questions, if you don't mind:
- Will Pyro play well with PyObjC objects?
I can't say anything about this, I have zero experience with PyObjC.
- How does it compare to, say, DO+Bonjour (which is the only
object-oriented IPC system I'm vaguely familiar with)?
Pyro is a 100% Python remote object library and as such will be
different on a lot of aspects, I think, because it is not tied to any OS specific
technology (other than TCP/IP sockets).
Pyro is capable of handling any Python object that can be pickled.
It uses Python's native pickle format for data transfer, which makes it quite
fast.
It has no auto discovery mechanism but it has a centralized object registry, which can
be discovered by other objects using a network broadcast.
For more information please read the documentation.
- And how well will it cope if some components stall or crash? (One of
the reasons for moving to a more distributed design is that some parts
of the system are inherently unreliable, so the rest of the system will
need to survive if/when those processes go down, and be able to
reconnect once they are restarted.)
Pyro's got some basic features to deal with lost connections (due to component crash or
network problems etc). By adding a few lines to your code you can detect a broken
connection and try to reconnect the object to its target.
You can also deal with message transfer timeouts in a basic way.
If you want truly reliable message transfer or transactional behavior across objects,
Pyro is probably not the right choice.
-irmen
_______________________________________________
Pythonmac-SIG maillist - Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig