等待Celery任务完成而没有结果后端

问题描述:

没有结果后端,我该如何等待Celery任务完成?当没有使用后端结果时,.collect() and .get()都会失败。我不需要任务的结果,只需等待它完成即可。等待Celery任务完成而没有结果后端

>>> add.delay(1, 2).get() 
Traceback (most recent call last): 
    File "<console>", line 1, in <module> 
    File "/usr/local/lib/python2.7/site-packages/celery/result.py", line 169, in get 
    no_ack=no_ack, 
    File "/usr/local/lib/python2.7/site-packages/celery/backends/base.py", line 616, in _is_disabled 
    'No result backend configured. ' 
NotImplementedError: No result backend configured. Please see the documentation for more information. 

基本上任务需要与客户端沟通,它已完成。

结果后端是芹菜用来传达任务状态的机制。如果它被禁用,你必须实现你自己的通信机制。

你可以在商店里设置一个标志(像redis这样轻量级的东西会很好),或者任务可以写入共享挂载,或者你可以实现任务和客户端可以交谈的轻量级web服务。

但是,所有这些都非常重复后端的结果(特别是第一个建议)。