Tim Peters wrote: > In that case, anything that burns some time and tries again > will work better. Replacing gc.collect() with time.sleep() is > an easy way to test that hypothesis; because gc.collect() > does an all-generations collection, it can consume measurable time.
An slight enhancement to this hypothesis-tester (which might even approach being production-worthy) would be to maintain a list of items which were not deleted on a particular pass. Sleep after each pass, then try to kill all the items on the list again. Maintain a counter of the number of passes which have been made since the last time the undeleted item list shrank (via a completed deletion), and if the total time exceeds 'x' or the number of passes since a completed deletion exceeds 'y', then bail and ask the user to help you out. Regards, Pat -- http://mail.python.org/mailman/listinfo/python-list