2011-01-26 8 views
12

Czy można ustawić DEBUG = False tylko dla określonej aplikacji w Django? Seler ma known memory leak, gdy włączone jest debugowanie. Mam serwer programistyczny, na którym chcę, aby Celery działał jako usługa, bez debugowania, aby nie przeciekał pamięci, ale chcę, aby reszta mojej aplikacji Django korzystała z debugowania, więc błędy będą wyświetlane podczas testowania.Wyłącz debugowanie Django dla selera

Odpowiedz

30

Seler nie ma przeciek pamięci, to w jaki sposób Django działa:

Kiedy DEBUG jest włączony Django dołącza każdy wykonywany SQL do django.db.connection.queries, to rośnie nieograniczona w procesie środowisku długo jazdy.

Chyba można używać hack jak:

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

byłbyś że modyfikacja manage.py? – Cerin

+2

Nie, zrób to w ustawieniach .py – asksol

+0

To nie działa w przeglądarce Celery 4.x. Zaktualizowałem ścieżkę do/usr/celery/bin, ale i tak hack nie działa. Myślę, że ma to związek z tym, jak ustawienia django są importowane w ten sposób: self._settings = symbol_by_name ("django.conf: settings") Nie znalazłem jeszcze rozwiązania. – sww314