禁用芹菜的Django调试 [英] Disable Django Debugging for Celery
问题描述
是否可以为Django中的特定应用设置DEBUG = False?当启用调试时,Celery有一个已知内存泄漏。我有一个开发服务器,我想要Celery作为一个服务运行,没有调试,所以它不会泄漏内存,但我想让我的其余的Django应用程序使用调试,所以错误将在测试时显示。
Is it possible to set DEBUG=False for only a specific app in Django? Celery has a known memory leak when debugging is enabled. I have a development server where I want Celery to run as a service, without debugging so it doesn't leak memory, but I want the rest of my Django app to use debugging so errors will be shown when testing.
推荐答案
芹菜没有内存泄漏,这就是Django的工作原理:
Celery doesn't have a memory leak, it's how Django works:
启用DEBUG Django将每个执行的SQL语句追加到 django.db.connection.queries
,这将在长时间运行的进程环境中增长无限。
When DEBUG is enabled Django appends every executed SQL statement to django.db.connection.queries
, this will grow unbounded in a long running process environment.
我想你可以使用一个黑客:
I guess you could use a hack like:
if "celeryd" in sys.argv:
DEBUG = False
这篇关于禁用芹菜的Django调试的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!