私のdjangoアプリのsorl-thumbnailを使用して、約40kの画像ごとに4つのサムネイルを一括生成しようとしています。ImageWithThumbnailsFieldFile を使用してすべての django オブジェクトを反復処理し、その generate_thumbnails() 関数を呼び出します。
これは問題なく動作しますが、数百回の反復の後、メモリが不足し、ループが「メモリ エラー」でクラッシュします。sorl-thumbnail は PIL を使用してサムを生成するため、PIL はサムの生成時に使用したすべてのメモリを返さないようです。
この問題を回避する方法はありますか?たとえば、PILに不要になったメモリを強制的に返させることはできますか?
私のコードは次のようになります。
all = Picture.objects.all()
for i in all:
i.image.generate_thumbnails()
関数 generate-thumbnail は、129 行目から始まります。
アドバイスをよろしくお願いします!
マーティン