user guideの例に続いて、app.conf.humanize(with_defaults=False)
を使ってセロリの設定を出力しようとしています。しかし、私はいつもwith_defaults=False
を使用して空の文字列を取得しますが、代わりに.humanize(with_defaults=True)
を使用して変更を見ることができるので、構成の変更が影響していることがわかります。セロリのapp.conf.humanize(with_defaults = False)のデフォルトと見なされるものは何ですか?
私はそうはデフォルトではありませんように、モジュールmyconfig
で設定をロードする方法があり、app.conf.config_from_object('myconfig')
で設定を追加すると、「デフォルト」として構成設定をロードしていることを推測していますか?
は、これは私のソースコードです:
#myconfig.py
worker_redirect_stdouts_level='INFO'
imports = ('tasks',)
と
#tasks.py
from celery import Celery
app = Celery()
app.config_from_object('myconfig')
print "config: %s" % app.conf.humanize(with_defaults=False)
@app.task
def debug(*args, **kwargs):
print "debug task args : %r" % (args,)
print "debug task kwargs: %r" % (kwargs,)
私はenv PYTHONPATH=. celery worker --loglevel=INFO
を使用してセロリを開始し、それは(私がwith_defaults=True
に変更した場合、私は期待される全出力を得る)config:
を出力します。
私はそれ以来、[バグレポート](https://github.com/celery/celery/issues/3652)に提出されました'human.conf( 'worker_redirect_stdouts_level')'の項目の1つにアクセスした後、 'humanize() – ecerulm