我正在使用连接到RabbitMQ队列的Celery,这个队列在服务器上填充并在另一个队列上继续。
我希望从没有后端的工作人员执行的任务中获得所有结果。
示例:
from celery import Celery
import tasks
# Initialize Celery
app = Celery('tasks', broker='pyam')
if __name__ == '__main__':
app.start()
# I wan't to get all the results here with something like that:
while True:
app.results.get()
他们有没有办法做到这一点,或者至少在这个程序中取得结果而不是将任务添加到RabbitMQ的程序?
我也可以将结果放在数据库或队列中并使用它们,但如果可能的话我想避免这种情况。
提前感谢所有答案
答案 0 :(得分:0)
您可以尝试按照here所述检查队列中的工作人员!
# Inspect all nodes.
i = app.control.inspect()
# Specify multiple nodes to inspect.
i = app.control.inspect(['worker1.example.com',
'worker2.example.com'])
# Specify a single node to inspect.
i = app.control.inspect('worker1.example.com')