文档说," RPC样式的结果后端,每个客户端使用回复和一个队列。"
那么,如何在rpc结果后端设置结果队列?
在那种情况下我需要它:
- 我在一个脚本中执行result = send_task(' name',args)(并将result.id保存为send_task_id)并尝试使用asyncresult = AsyncResult(id)在另一个脚本中获取结果= send_task_id)。我无法得到这个结果,因为每个脚本都有自己与broker的连接,rpc为每个客户端声明自己的结果队列。
- 在第二种情况下,我在一个脚本中尝试send_task和AsyncResult(在result.state == PENDING时重试)。当我以并发= 1的工作方式运行它时就可以了。当并发> 1结果可能永远不会返回。每个worker fork都与代理和自己的结果队列建立自己的连接。当同一个worker fork执行send_task并继续重试时,它会正常。
醇>
我正在使用芹菜4.0.2和4.1.0。