Как проверить, является ли предоставленная информация для AMQPStreamConnection действительной в RabbitMQ? - PullRequest
1 голос
/ 20 июня 2019

Я написал собственный метод регистрации ошибок, и я реализую его там, где что-то может пойти не так.Однако для RabbitMQ мне непонятно, как проверить наличие ошибки.Это мой код

require_once __DIR__ . '/vendor/autoload.php';
use PhpAmqpLib\Connection\AMQPStreamConnection;
use PhpAmqpLib\Message\AMQPMessage;

$errorServiceObject = new ErrorService();
$connection = new AMQPStreamConnection('localhost', 5672, 'guest', 'guest');
$channel = $connection->channel();
if(!isset($channel))
{
    $errorServiceObject->LogError('RabbitMQ error.', 'Could not initiate a RabbitMQ connection.');
    exit();
}

Способ, которым я сейчас занимаюсь, плох, потому что он только проверяет, установлена ​​ли переменная $channel или когда соединение просто не инициировано правильно.Я хотел бы проверить, является ли информация new AMQPStreamConnection действительной или нет.Рассмотрим этот пример, где я делаю это

$connection = new AMQPStreamConnection('localhostWithATypo', 5444, 'guest', 'guest'); //wrong hostname and wrong port number.Что мне нужно добавить в оператор if, чтобы вызвать функцию обработки ошибок?

1 Ответ

0 голосов
/ 20 июня 2019

Если вы используете php-amqplib, ознакомьтесь с документацией.Есть несколько фрагментов кода, которые иллюстрируют, как new AMQPStreamConnection генерирует исключения.Смотри https://github.com/php-amqplib/php-amqplib#connection-recovery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...