[ZODB-Dev] Reading ZEO without writing

Eric Jacobs eaj@ricochet.net
Mon, 26 Mar 2001 14:37:24 EDT


When playing around with chatter.py, I noticed that when the instructions
to add a new message were commented out, the script didn't work.

I found I had to add these two lines to the bottom of the loop:

        asyncore.poll()
        conn._cache.invalidate(conn._invalidated)

The first I expected, as it would be required in any event-driven I/O
program. The second one puzzled me a bit more. Without that line, the
cache invalidations would be received but wouldn't actually invalidate
anything until a transaction goes through.

Surely there should be a way to just monitor the ZODB?

I'm guessing that this is a consequence of ZODB's implicitly-arranged
transaction starts. Is there a way to say "I'm not in a transaction
right now, and I want to see the database as it currently is"? Any
suggestions would be appreciated.
--