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')'의 한 항목에 접근 한 후'humanize() – ecerulm