Мое приложение подключается к rabbitMQ. Иногда он бросает AMQPTimeoutException. Более конкретно: "Ошибка отправки данных. Время соединения сокета".
Мое решение:
Я улавливаю AMQPTimeoutException и вызываю метод reconnect. После чего программа продолжает нормальное выполнение. Также я установил флаг, чтобы исключение обрабатывалось почти 3 раза.
try
{
sendMethod($message);
} catch (AMQPTimeoutException $e) {
echo "caught socket connection exception". "\n";
$this->reconnect($message, $exchangeName, $queue);
}
//reconnect internally checks the flag
Мой вопрос: Это лучшая практика? Если не возможны другие решения?
Примечание. Приложение написано на PHP.