Skip to content

Instantly share code, notes, and snippets.

@baxeico
Last active August 29, 2015 14:06
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
Save baxeico/f48e810b1e24e8a9b0de to your computer and use it in GitHub Desktop.
Find and fix a django "memleak"
import objgraph
import sys
import logging
from django.http import HttpResponse
from .models import FirstModel
logger = logging.getLogger(__name__)
class LoggerWriter:
def __init__(self, logger):
self.logger = logger
def write(self, message):
if message != '\n':
self.logger.debug(message)
def my_view(request):
sys.stdout = LoggerWriter(logger)
huge_queryset = FirstModel.objects.all()
f = open('dumb.dump', 'w')
row = 0
for record in huge_queryset:
print >>f, record
row += 1
if not (row % 1000):
objgraph.show_growth()
f.close()
return HttpResponse('Dumb dump completed!')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment