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 -- Dieter _______________________________________________ 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