2016-03-08 3 views
1

Чтобы внедрить локализацию данных, мне нужны потребительские приоритеты в моем сельдере - setup rabbitmq, т. Е. Потребитель, который выбирает задачи из определенной очереди с предпочтением.Как установить приоритет потребителя в сельдерее - настроен кролик?

Я обнаружил, что RabbitMQ поддерживает потребительский приоритет: https://www.rabbitmq.com/consumer-priority.html

Как я могу использовать эту функцию?

Если он еще не реализован, как его реализовать?

В примере примера rabbitmq (предоставляется в ссылке) аргумент x-priority был предоставлен basicConsume. Как я могу реализовать это в коде сельдерея?

ответ

4

Я также разместил этот вопрос на странице проблем сельдерея. Эта функция была включена в версии развития:

https://github.com/celery/celery/issues/3098

В потребительском конце концов, вы можете определить x-priority аргумент в очереди, чтобы потреблять от. В приведенном ниже примере, потребитель поднимает задачу из очереди сельдерея с приоритетом 0 и от hipri с приоритетом 10.

Пример:

CELERY_QUEUES = (
    Queue('celery', Exchange('celery', type='direct'), routing_key='celery', 
      consumer_arguments={'x-priority': 0}), 
    Queue('hipri', Exchange('hipri', type='direct'), routing_key='hipri', 
      consumer_arguments={'x-priority': 10}), 
) 
+0

Я не очень знаком с сельдереем. Можете ли вы дать более полный пример вышеизложенного? Где именно я буду добавлять этот код? В настоящее время я обращаюсь к нашим очередям RMQ, например. 'task_run_grouping = app.signature ('test.run_realtime_grouping', (context,)). set (queue = 'my_rabbitmq_queue')' – Bhushan

Смежные вопросы