Как сохранить одно подключение к RabbitMQ?

Всем привет и с наступающим!

У меня есть endpoint в symfony, при обращении к нему, он подключается к rabbitmq и отправляет сообщение, а затем закрывает соединение. Проблема в том, что таких обращений может быть около 3000 в секунду, и все это время у меня постоянно происходят подключения и их закрытия. Вопрос в том, можно ли как-то сохранить одно подключение и использовать постоянно только его?

Код:

$connection = new AMQPStreamConnection(
            $_ENV['RABBIT_IP'],
            $_ENV['RABBIT_PORT'],
            $_ENV['RABBIT_USER'],
            $_ENV['RABBIT_PASSWORD'],
            '/',
            false,
            'AMQPLAIN',
            null,
            'en_US',
            30, //Connection Timeout
            30, // Read/Write Timeout
            null,
            false,
            60
);
$channel = $connection->channel();

$channel->queue_declare('RequestLog', false, false, false, false);

$msg = new AMQPMessage($request->getContent());
$channel->basic_publish($msg, 'clickhouse-exchange', 'RequestLog');

$channel->close();
$connection->close();
  • Вопрос задан
  • 324 просмотра
Пригласить эксперта
Ваш ответ на вопрос

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

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