ZEO/wxPython

Jeremy Hylton jeremy at alum.mit.edu
Tue Jan 21 15:45:36 EST 2003


Peter Hansen <peter at engcorp.com> wrote in message news:<3E2D538C.92ABDC03 at engcorp.com>...
> Mike Thompson wrote:
> > 
> > I'm interested in writing a ZEO client using wxPython. Is this possible?
> > 
> > Would their event loops have to be unified?
> 
> What event loops?  ZEO isn't a GUI... it doesn't *have* an event 
> loop, as I understand the term.  It's an architecture for multi-
> system use of the Zope Object Database (ZODB).
> 
> It's probably quite straightforward to do this, although you might
> want to describe what you are hoping to accomplish so we can help
> you if you have the wrong idea about what these can do for you.

ZEO is based on asyncore, so it's most straightfoward use does involve
something running the asyncore mainloop.  The mainloop isn't strictly
necessary, but it
makes it easier to use ZEO.

The chief value of the mainloop is that it will handling incoming
invalidation messages from the ZEO server.  If you don't have a
mainloop running, you should
call the ClientStorage's sync() method periodically.  sync() will
process any pending messages from the server.  It can be annoying to
remember to call sync().

The way ZEO is used by Zope, there's a separate thread that runs the
asyncore mainloop and that thread delivers the invalidations to the
client.

Hope that helps,
Jeremy




More information about the Python-list mailing list