3.4 ZEO Programming Notes

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. The Connection.sync method can be used to process pending invalidation messages. You can call it when you want to make sure the Connection has the most recent version of every object, but you don't have any other work for ZEO to do.