> So, the best place to call those would be during my commit break (whenever I
> decide to take it? [which would be less often if I could be sure of no
> crashing]). Are there any other problems with the way I was using ZODB in
> my code? I really like it, but I recognize that it's a lot more complicated
> than my old system.
Correct. Pick appropriate place where you are "finished" with a batch
and possibly have them no longer referenced. Then you can call cacheMinimize.
You can call cacheGC to reduce memory usage.
Your code looks straight forward. I do not see it doing anything strange.
It's more complicated than old system? Ugh. That sucks. The ZODB should
be LESS complicated than sqlite+custom rolled caching. If not than you may
be doing something wrong or ZODB is not living up to its promise *wink*
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org