Boto SQS get_queue内存泄漏

时间:2013-11-20 14:55:05

标签: python django memory-leaks boto amazon-sqs

我使用boto.sqs模块作为Amazon SQS(简单队列服务)之上的抽象。 一段时间后,我注意到boto.sqs.get_queue()导致内存不断泄漏。

出于测试目的,我创建了简单的django管理命令:

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'时,它不会记忆。

我的Django设置中有一行DEBUG = False。

有谁能建议如何摆脱这个memleak?

1 个答案:

答案 0 :(得分:0)

只需从INSTALLED_APPS ...

中删除debug_toolbar即可