[英]Can't invoke celery task in Django tests synchronously
我想在我的Django測試期間同步調用芹菜任務而不需要運行芹菜工作者。 為了實現這一點,我在settings.py中指定了CELERY_ALWAYS_EAGER=True
,但它似乎不起作用。 所以我決定將override_settings裝飾器應用於看起來像這樣的特定測試
@override_settings(CELERY_ALWAYS_EAGER=True, BROKER_BACKEND='memory',
CELERY_EAGER_PROPAGATES_EXCEPTIONS=True)
def test_foo(self):
...
不幸的是,這個測試仍然在我的芹菜工作者中調用任務。 我可以缺少什么? 具體來說,我正在使用Django 1.10和Celery 4.0.0。
在芹菜4.0配置參數已更改,
在測試中嘗試這些,
@override_settings(
task_eager_propagates=True,
task_always_eager=True,
broker_url='memory://',
backend='memory'
)
我遇到了同樣的問題,使用新的小寫名稱進行測試以及默認的芹菜設置。
這是原始設置圖的新設置,
http://docs.celeryproject.org/en/latest/userguide/configuration.html#new-lowercase-settings
芹菜設置更改信息:
http://docs.celeryproject.org/en/latest/whatsnew-4.0.html#lowercase-setting-names
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.