Здравствуйте.
Подскажите пожалуйста правильный путь (для Yii2) повторной обработки запроса к БД, если предыдущий "поймал" deadlock.
Как есть сейчас:
Отдельный запрос - отдельная функция. В функции, вызов запроса обернут в try. В catch парсим ошибку на наличие заданного паттерна (определенных значений "SQLSTATE"), если находим - возвращаем соответствующий флаг из функции.
При вызове такой функции проверяем состоянеие флага, если поймали флаг, то вызываем функцию повторно (заданное количество раз).
Меня мучает вопрос - возможно есть более правильный, родной метод для подобных ситуаций?
Заранее, спасибо.
P.S. СУБД - PostgreSQL.