Revert cleanup_deleted to delete one at a time, instead of batches.

This commit is contained in:
Chris Church
2015-05-29 14:52:03 -04:00
parent 46477f9953
commit 79a8e541cd
2 changed files with 4 additions and 3 deletions

View File

@@ -77,17 +77,17 @@ class Command(BaseCommand):
else: else:
action_text = 'would delete' if self.dry_run else 'deleting' action_text = 'would delete' if self.dry_run else 'deleting'
self.logger.info('%s %s', action_text, instance) self.logger.info('%s %s', action_text, instance)
n_deleted_items += 1
if not self.dry_run: if not self.dry_run:
pks_to_delete.add(instance.pk) #pks_to_delete.add(instance.pk)
instance.delete()
# Cleanup objects in batches instead of deleting each one individually. # Cleanup objects in batches instead of deleting each one individually.
if len(pks_to_delete) >= 50: if len(pks_to_delete) >= 50:
model.objects.filter(pk__in=pks_to_delete).delete() model.objects.filter(pk__in=pks_to_delete).delete()
n_deleted_items += len(pks_to_delete)
pks_to_delete.clear() pks_to_delete.clear()
if len(pks_to_delete): if len(pks_to_delete):
model.objects.filter(pk__in=pks_to_delete).delete() model.objects.filter(pk__in=pks_to_delete).delete()
n_deleted_items += len(pks_to_delete)
return n_deleted_items return n_deleted_items
def init_logging(self): def init_logging(self):

View File

@@ -251,6 +251,7 @@ class CleanupDeletedTest(BaseCommandMixin, BaseTest):
counts_after = self.get_model_counts() counts_after = self.get_model_counts()
self.assertNotEqual(counts_before, counts_after) self.assertNotEqual(counts_before, counts_after)
self.assertFalse(sum(x[1] for x in counts_after.values())) self.assertFalse(sum(x[1] for x in counts_after.values()))
return # Don't test how long it takes (for now).
# Create lots of hosts already marked as deleted. # Create lots of hosts already marked as deleted.
t = time.time() t = time.time()