4
我使用的是django 1.3,我正在Web上下文之外運行腳本(從命令行)。
我的代碼每次都從db讀取10000條記錄。
我注意到這個過程的內存使用量隨着時間的推移變得越來越大。
我的代碼是:我需要使用django reset_queries()
def getData(startIndex,chunkSize):
dataList =Mydata.objects.filter(update_date__isnull = True)[startIndex:startIndex+chunkSize]
return list(dataList)
if __name__ == '__main__':
chunkSize = 10000
startIndex = 0
dataSize = Mydata.objects.filter(update_date__isnull = True).count()
while startIndex < dataSize:
dataList = getData(startIndex,chunkSize)
startIndex += chunkSize
do_stuff(dataList)
我的問題是:我是否需要使用reset_queries()
和或connection.close()
並且這是在內存使用量增加的原因?
只是爲了檢查:你有'DEBUG = False'? – second 2012-02-09 14:02:07
是的,DEBUG是假的 – yossi 2012-02-09 14:12:18
它是否正在吃更多的內存的Python進程?你可以逐句通過腳本,看看哪些行導致內存上漲 – second 2012-02-09 14:22:44