Я использую модуль boto.sqs как абстракцию поверх Amazon SQS (Simple Queue Service). Через некоторое время я заметил, что boto.sqs.get_queue() вызывает постоянную утечку памяти.Boto SQS get_queue Утечка памяти
Для тестирования я создал простую команду управления Джанго:
from django.core.management.base import BaseCommand
class Command(BaseCommand):
help = "My shiny new management command."
def handle(self, *args, **options):
import boto.sqs, time, gc
while True:
conn = boto.sqs.connect_to_region('eu-west-1', aws_access_key_id='my', aws_secret_access_key='my')
queue = conn.get_queue('my')
print('queue is {}'.format(queue))
time.sleep(1)
gc.collect() # just in case
Когда я выполнить эту команду потребления памяти процесса постоянно растет. Интересно, что, когда тот же цикл выполняется из простого файла test.py как «python test.py», он не memleak.
У меня есть строка DEBUG = False в настройках Django.
Может ли кто-нибудь предложить, как избавиться от этого memleak?