On Fri, 12 Nov 1999, Michel Pelletier wrote:
It is transparent. There is no application level change in functionality. You can take an existing Zope site and fire it up with Zeo in a few seconds, and then switch back to the original threaded mode just as quickly.
Unless your objects are sharing information between threads without using ZODB. Or does ZEO somehow handle this? For a product I'm writing, I need to maintain a cache of authentication tokens which needs to be shared between all Zope threads. I seem to have the choice of: Storing in the filesystem Storing in a RDBMS Storing in ZODB Storing in Memory The first two will not work in ZEO environments without a shared var directory, and can't be written platform independantly due to the lack of platform independant file locking in Python. The second depends on having a network accessible RDBMS available, and a DBA to drive it. The third isn't usable yet for caching, as it quickly bloats your ZODB to ridiculous sizes. 'volatile' objects would fix this, but they would need to just be pointers in ZODB and actually stored elsewhere or risk destroying Zopes nifty ZODB file format. And the conflict errors reported by gtk would need to be fixed. The forth shouldn't work for ZEO (?). By this I mean package or global variables, and not class/object attributes. ___ // Zen (alias Stuart Bishop) Work: zen@cs.rmit.edu.au // E N Senior Systems Alchemist Play: zen@shangri-la.dropbear.id.au //__ Computer Science, RMIT WWW: http://www.cs.rmit.edu.au/~zen