2016-10-01 6 views
0

Я создаю задачи со скоростью 5 задач в секунду. Я вижу, что в RabbitMQ скорость передачи сообщений составляет в среднем 5,2/с, у меня 240 пользователей, распределенных на 4 виртуальных компьютерах (60 на каждую виртуальную машину), каждый рабочий процесс выполняет задачу, которая занимает 20 секунд. В теории я должен обрабатывать задачу 100K без очереди.RabbitMQ unacked messages

Я вижу большое количество Unacked сообщений. Как избавиться от неучтенных сообщений или добавить таймер, чтобы убить их, является ли это проблемой для моей рабочей стороны?

How can I recover unacknowledged AMQP messages from other channels than my connection's own?

Очереди Вкладка

Готовый Unacked Всего поступающая доставки/получить Ack

21884 960 22844 5,0/s 0,40/s 0,40/s

enter image description here Обмен вкладка: stackoverflow direct D 5.0 ​​/ s 5.0/s

Это мой файл celeryconfig.

ответ

1

Подтверждение сообщения действует как транзакция в SQL, например, фиксация, которую вы должны подтвердить сообщением, полученным от RabbitMq. Эта функция помогает избежать потери сообщений в вашей системе.

Перейдите подтверждения Сообщение название https://www.rabbitmq.com/tutorials/tutorial-two-python.html