On 4/15/05, Chris Withers <[EMAIL PROTECTED]> wrote:
> > Short course:  A ZEO client needs to run an asyncore mainloop if it wants to
> > get invalidations processed "by magic".  Alternatives include calling
> > sync(), or closing and (re)opening the connection, at appropriate times.
> Hurm, this really should be in bright flashing neon somewhere. I the 5
> years this process has been used, I've never known that ZEO don't work
> right when there's no asyncore loop :-(

It's mentioned in the documentation -- see section 3.4 ZEO programming
notes -- and it's been discussed on this list many, many times.

It sounds like the simplest approach for your application is to do
like Zope and start a separate thread that runs an asyncore mainloop. 
Then your application threads will see updates when the commit and
abort transactions, just like the would in Zope.

For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to