我正试图在我的Django项目中设置celeni4,我希望Redis作为代理。但是我在Celery 4文档中找不到Django特定的broker设置?此外,版本4的设置文档不再提到CELERY_BROKER_URL
,我相信版本3的文档确实提到了这些设置。
我在网上搜索,发现了这些设置:
CELERY_BROKER_URL = 'redis://localhost:6379'
CELERY_RESULT_BACKEND = 'redis://localhost:6379'
CELERY_ACCEPT_CONTENT = ['application/json']
CELERY_RESULT_SERIALIZER = 'json'
CELERY_TASK_SERIALIZER = 'json'
但我不确定它是针对版本3还是版本4。我完全糊涂了。
好!发现一段隐藏在"Django的第一步"文档中:
大写名称空间意味着所有Celery配置选项必须以大写而非小写指定,并以Celery_开头,因此例如task_always_eager设置变为Celery_task_always_eager,broker_url设置变为CERERY_broker_url。这也适用于worker设置,例如,worker_concurrency设置变为CELERY_worker_concurrency。