为Celery禁用Django调试

发布于 2021-01-29 15:22:29

是否可以仅针对Django中的特定应用设置DEBUG =
False?启用调试后,Celery有一个已知的内存泄漏。我有一个开发服务器,我希望Celery作为服务运行,而无需调试,因此不会泄漏内存,但是我希望我的Django应用程序的其余部分使用调试功能,以便在测试时会显示错误。

关注者
0
被浏览
49
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    Celery没有内存泄漏,这就是Django的工作方式:

    启用DEBUG后,Django会将每个已执行的SQL语句追加到django.db.connection.queries,这在长时间运行的流程环境中将无限制地增长。

    我猜你可以使用类似的hack:

    if "celeryd" in sys.argv:
        DEBUG = False
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看