我想使用芹菜在我的代码中引入多处理。 但目前我的队列实现是在 Kafka 中。
目前芹菜网站只提到了这4家经纪人: http://docs.celeryproject.org/en/master/getting-started/brokers/index.html#broker-overview
是否有可能将 Celery 与 Kafka 集成,类似于下面提到的 RabbitMQ:
from celery import Celery
app = Celery('tasks', broker='pyamqp://guest@localhost//')
@app.task
def add(x, y):
return x + y
有人讨论过让卡夫卡作为芹菜的经纪人,并且有部分实现。我希望这对你有帮助
https://github.com/celery/kombu/issues/301
看起来它将在今年 10 月 31 日左右上市。
https://github.com/celery/kombu/milestone/2
当您正在寻找Kafka的多处理解决方案时,我建议您看看浮士德图书馆。
这里有一个例子(非常接近你的(与芹菜相比:
https://faust.readthedocs.io/en/latest/playbooks/vscelery.html
import faust
app = faust.App('myapp', broker='kafka://')
@app.agent()
async def add(stream):
async for op in stream:
yield op.x + op.y
《浮士德》的创作者之一也是《芹菜》的作者。
我之所以这么说,是因为此刻自@user3382968提到的票的创建以来已经过去了 7 年,但仍然没有进展。