работник не потребляет задачи после того, как сельдерей вызывается add_consumer

Я бы хотел использовать Celery (с RabbitMQ как backend MQ) для выполнения задач различного вкуса через разные очереди. Одно из требований заключается в том, что потребление (рабочими) из конкретной очереди должно иметь возможность приостанавливаться и возобновляться.

Сельдерей, похоже, обладает этой возможностью, вызывая add_consumer и cancel_consumer . Хотя мне удалось отменить потребление задач из очереди для конкретного работника, я не могу заставить работника возобновить потребление, вызвав add_consumer . Здесь приведен код для воспроизведения этой проблемы . Мое предположение, вероятно, я пропускаю какой-то параметр, который должен быть предоставлен либо в celeryconfig либо через аргументы при запуске рабочих?

Было бы здорово получить некоторые свежие пары глаз на этом. В Stackoverflow не так много обсуждений относительно add_consumer и Github. Поэтому я надеюсь, что здесь есть некоторые эксперты, желающие поделиться своими мыслями / опытом.

Я запускаю ниже:

ОС Windows, RabbitMQ 3.5.6, Erlang 18.1, Python 3.3.5, сельдерей 3.1.15

One Solution collect form web for “работник не потребляет задачи после того, как сельдерей вызывается add_consumer”

Чтобы возобновить работу из очереди, вам нужно указать имя очереди, а также целевых работников. Вот как это сделать.

 app.control.add_consumer(queue='high', destination=['celery@asus']) 

Вот подпись add_consumer

 def add_consumer(state, queue, exchange=None, exchange_type=None, routing_key=None, **options): 

В вашем случае вы звоните с

 app.control.add_consumer('high', destination=['celery@high1woka']) 

Таким образом, high передается в состояние, а очередь пуста. Таким образом, он не может возобновить работу.

  • Как я могу перечислить или обнаружить очереди на RabbitMQ-обмене с помощью python?
  • Почему celery.control.inspect сообщает меньше задач в очереди, чем rabbitmqctl?
  • Сельдерей настраивает отдельное соединение для производителя и потребителя
  • pika.exceptions.ProbableAuthenticationError при попытке отправить сообщение в удаленную очередь
  • Недопустимая погрешность содержимого сорняков сельдерея
  • Django, Celery, Redis, RabbitMQ: Цепочки для фанатичных писем
  • Различают сельдерей, комбу, PyAMQP и RabbitMQ / ironMQ
  • Использование сельдерея для обработки огромных текстовых файлов
  •  
    Interesting Posts for Van-Lav

    Acrobat JavaScript – преобразование ссылок на страницы JavaScript на «реальные ссылки»

    Python: извлечение предложений из строки – требуемое регулярное выражение на основе критериев

    Общие минимальные резистивные (GMRES) с предварительным кондиционированием ILU

    Как получить исходные переменные после запуска Scikit Model с использованием метода OneHotEncoding

    Подпроцесс Python с аргументами, имеющими несколько котировок

    проверьте, является ли dataframe типами boolean type pandas

    Найти уникальные значения в кадре данных Pandas, независимо от расположения строк или столбцов

    Как разбить массив строк на 2-мерный массив символов в python

    Как распаковать файл .xz с несколькими папками / файлами внутри, за один раз?

    Можно ли добавить параметры в свойство python для уменьшения дублирования кода?

    «AttributeError» при попытке создать экран консоли с помощью urwid

    Переключение на словарь для отображения ключа и значений в порядке величины

    Ошибка округления Python с номерами с плавающей запятой

    декодирование кодировки python 2.7

    Можно ли принудительно увеличить показатель или значение float для соответствия другому плаву (Python)?

    Python - лучший язык программирования в мире.