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

Reply via email to