首页 > 解决方案 > 向 celery 中的特定消费者发送消息(通过路由键)

问题描述

是否Celery支持专门向特定的消费者/客户端发送消息,例如通过路由键?

默认情况下RabbitMQ,机器可以通过使用直接队列来定位,但我试图用 Celery 实现相同的行为

@app.task
def add(x, y):
    return x + y


# something like this
add.delay(1, 2, "machine-xyz")

标签: pythonrabbitmqceleryamqp

解决方案


您可以运行worker-xyzas-Q worker-abc-queue以使其侦听特定队列,然后在调用任务以路由它时指定此队列名称

add.apply_async((1, 2), {}, queue='worker-abc-queue')

推荐阅读