Всем привет и с наступающим!
У меня есть 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();