【发布时间】:2021-09-22 16:41:10
【问题描述】:
我想采用in the docs 所示的承诺协议。 那里提供的示例有效,但承诺是在工作人员方面处理的。 相反,我希望收到有关客户端的通知。
这是我的 test.py:
from celery import Celery
app = Celery(broker='amqp://', backend='rpc')
@app.task
def add(x, y):
return x + y
在客户端我输入以下命令:
import test
test.add.delay(2, 2).then(lambda: print('OK'))
在谷歌搜索时,我遇到了this,所以显然我不是唯一一个努力理解它应该如何工作的人。
我的理解是,一旦任务被处理,结果应该被发送回客户端,然后回调应该被触发,但事实并非如此,我的承诺永远不会得到解决。
我的理解正确吗? 这是期望的行为吗?
谢谢
【问题讨论】:
标签: python asynchronous promise celery celery-task