2011-01-26 40 views
12

Djangoの特定のアプリケーションに対してのみDEBUG = Falseを設定することはできますか?デバッグが有効になっている場合、Celeryはknown memory leakになります。私はCeleryをデバッグせずにサービスとして実行してメモリをリークさせたくない開発サーバーを用意していますが、残ったDjangoアプリケーションでデバッグを使用してテスト時にエラーが表示されるようにします。セロリのDjangoデバッグを無効にする

答えて

30

セロリがメモリリークを持っていない、それはDjangoがどのように動作するかです:DEBUGはDjangoに有効になっている

django.db.connection.queriesに、すべての実行されたSQL文を追加し、これは、長時間実行されるプロセス環境で無制限に成長します。

私はあなたのようなハックを使用することができると思います:

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

あなたは変更がmanage.pyのしていることになるだろうか? – Cerin

+2

いいえ、settings.py – asksol

+0

にあります。これはCelery 4.xでは動作しません。私はパスを/ usr/celery/binに更新しましたが、まだハックは機能しませんでした。私はdjangoの設定をこのようにインポートする方法と関係があると思います: self._settings = symbol_by_name( 'django.conf:settings') まだ回避策が見つかりませんでした。 – sww314

関連する問題