Is there any reason these shouldn't be included in core Zope?

Chris

Dieter Maurer wrote:
Paolo Linux wrote at 2005-9-21 11:23 +0200:

...
I had zodb hanging when It had to solve Conflict situations.
It turned out to be that it tried to import some modules that
tried to instantiate ClientStorage...

I easily fixed the hurting code...
Lesson learned:

- never automatically register in db objects via __init__
 (or access to zodb, more generally)

- instantiate ClientStorage only when required...

Just a small suggestion. Is there any way to catch this problem
and issue a specific Execption rather that letting zeo hanging?


I modified "runzeo" to prevent it to start Zope.

It looks like this:

def main(args=None):
    try:
        # DM: prevent Zope from being start up
        #     (out of conflict resolution code)
        import Zope; Zope.startup = None
    except ImportError: pass

I also added the following patch:

# DM: 2004-06-03
# activate Zope's INSTANCE_HOME magic.
# This is necessary for conflict resolution of classes
# defined in "$INSTANCE_HOME/Products"
# Note that this is only a partial workaround. A complete solution
# would give ZEO the same Python path and product configuration options
# used by Zope. To get better control which classes are loaded
# an additional registration facility for such classes would
# be needed as well.
try: from App import FindHomes
except ImportError: pass # this is not Zope


--
Simplistix - Content Management, Zope & Python Consulting
           - http://www.simplistix.co.uk
_______________________________________________
For more information about ZODB, see the ZODB Wiki:
http://www.zope.org/Wikis/ZODB/

ZODB-Dev mailing list  -  ZODB-Dev@zope.org
http://mail.zope.org/mailman/listinfo/zodb-dev

Reply via email to