From c1468ed3c27c064014bda7e523c0984c5eb69f6d Mon Sep 17 00:00:00 2001 From: Martin Ringehahn Date: Thu, 30 Jun 2016 14:23:01 -0400 Subject: [PATCH] clear data store in chunks or else we'd get killed by OOM killer --- silk/management/commands/silk_clear_request_log.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/silk/management/commands/silk_clear_request_log.py b/silk/management/commands/silk_clear_request_log.py index 468d201f..5754e23c 100644 --- a/silk/management/commands/silk_clear_request_log.py +++ b/silk/management/commands/silk_clear_request_log.py @@ -1,4 +1,4 @@ -from django.core.management.base import BaseCommand, CommandError +from django.core.management.base import BaseCommand import silk.models @@ -8,9 +8,12 @@ class Command(BaseCommand): @staticmethod def delete_model(model): - count = model.objects.count() - print("deleting %s %s objects" % (model.__name__, count)) - model.objects.all().delete() + while True: + items_to_delete = list( + model.objects.values_list('pk', flat=True).all()[:1000]) + if not items_to_delete: + break + model.objects.filter(pk__in=items_to_delete).delete() def handle(self, *args, **options): # Django takes a long time to traverse foreign key relations,