Я заменил вызовы CURL на API сообщениями RabbitMQ RPC. Все отлично работает с RabbitMQ пример
Тем не менее, похоже, что реализация неверна, так как каждый запрос открывает соединение, открывает канал, отправляет сообщение, ждет ответа, получает ответ, закрывает канал и закрывает соединение.
Как я могу реализовать RPC-вызовы RabbitMQ, чтобы использовать одно и то же соединение для каждого запроса с использованием PHP?
Я использую https://github.com/videlalvaro/php-amqplib библиотека
Моя реализация выглядит так https://gist.github.com/fordnox/fa41e1233a207ec5416c
Используя это так:
$rpc = new RabbitRpc([/* config array */]);
$result = $rpc->callOnServer(1, ["foo":"bar"]);
Задача ещё не решена.
Других решений пока нет …