Задать вопрос
Newto
@Newto

Как избавиться от ошибки "no free channel ids" в rabbitmq?

Есть программа на php, которая отправляет сообщения в consumer rabbitmq. Consumer обрабатывает входящие сообщения, соответственно. При отправке 2к+ сообщений, за короткий промежуток времени, я получаю ответ от отправляющего скрипта "no free channel ids". Подскажите какой-то способ это исправить, минуя непосредственные настройки rabbitmq.

p.s. То что гуглится на stackoverflow -- не помогает.
  • Вопрос задан
  • 160 просмотров
Подписаться 1 Сложный 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
@yarkin
По PHP возможно не подскажу, но всё же в таких ситуациях желательно публиковать и пример кода. По всей видимости, открывается канал (channel) на каждую публикацию сообщения, чего делать не стоит. Каналы нужны для параллельной работы через одно TCP подключение, так как AMQP протокол по своей натуре синхронный (следующую команду нельзя послать, если ожидается ответ от предыдущей). Если через один канал скорость публикации сообщений с подтверждением не устраивает, то можно:
  • открыть несколько параллельных каналов,
  • или использовать пакетную отправку, когда подтверждение приходит на каждые N запросов.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы