I don't see any hurdles so far, but I am a little worried about a comment made in the ZODB/ZEO Programming Guide.
ZEO is written using asyncore, from the Python standard library. It assumes that some part of the user application is running an asyncore mainloop. For example, Zope run the loop in a separate thread and ZEO uses that. If your application does not have a mainloop, ZEO will not process incoming invalidation messages until you make some call into ZEO.
Does this mean that the incoming network buffer could fill up with invalidation messages, if my code doesn't make any calls into ZEO for a period of time?
I can see this possibly happening when running multiple instances of a Pylons app. Hmmm.