Что именно происходит, когда база данных, подключенная к symfony, отключается или недоступна? Возможно, ответ на этот вопрос мне в лицо, и я не понимаю этого, но я искал последнее время и все еще появляюсь с пустыми руками.
Я попытался смоделировать это сам (в «производственной» среде), просто остановив службу базы данных (я занимаюсь разработкой на моем ноутбуке с Windows - развертывание на сервере LAMP), но он просто оставался там до тех пор, пока превышен лимит времени выполнения PHP.
Я использую Symfony 1.4 с Doctrine. Можно было бы предположить, что это вызовет какое-то перехватываемое исключение или, возможно, даже сможет установить тайм-аут соединения, а затем выдать исключение. Я не могу удержаться от мысли о том, что клиент просто сидит там 30 секунд, ожидая, пока запрос к базе данных не завершится.
Если в ядре Symfony нет никаких превентивных мер, может кто-нибудь дать какие-либо предложения о том, как они справляются с этим? Конечно, в базе данных у меня будет монитор сердцебиения, но если он выйдет из строя, сайт тоже нужно будет отключить.
Обновление : собрал тестовый скрипт, чтобы просто подключиться к базе данных localhost через Mysqli, и он все еще достиг максимального времени выполнения. Тем не менее, он выдал предупреждение для сбой соединения.
- Логан