Отправить сообщение конкретному потребителю в сельдерее (с помощью ключа маршрутизации) - PullRequest
1 голос
/ 19 сентября 2019

Поддерживает ли Celery специальную отправку сообщения конкретному потребителю / клиенту, например, с помощью ключа маршрутизации?

По умолчанию RabbitMQ машина может быть нацелена с помощью прямой очереди, но япытаясь добиться того же поведения с сельдереем

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


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

1 Ответ

2 голосов
/ 19 сентября 2019

Вы можете запустить worker-xyz как -Q worker-abc-queue, чтобы он прослушивал определенную очередь, а затем указать это имя очереди при вызове задачи для ее маршрутизации

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