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

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

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

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

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

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