Ric*_*kyA 3 python celery celery-task
有没有办法在Celery Broadcast任务中获得每个工作人员的所有结果?我想监控所有工人的一切是否正常.还将感谢任务发送到的工作者列表.
不,这不容易.
但是您不必将自己限制在内置的amqp结果后端,您可以使用Kombu(http://kombu.readthedocs.org)发送您自己的结果,这是Celery使用的消息库:
from celery import Celery
from kombu import Exchange
results_exchange = Exchange('myres', type='fanout')
app = Celery()
@app.task(ignore_result=True)
def something():
res = do_something()
with app.producer_or_acquire(block=True) as producer:
producer.send(
{'result': res},
exchange=results_exchange,
serializer='json',
declare=[results_exchange],
)
Run Code Online (Sandbox Code Playgroud)
producer_or_acquire将kombu.Producer使用celery代理连接池创建一个新的.
| 归档时间: |
|
| 查看次数: |
854 次 |
| 最近记录: |