SevMadVic
Новичок
Как правильно проверить, живо ли подключение к MySQL?
PHP 5.2.9, MySQL 5.1.40
Есть демон на PHP, который после запуска подключается к серверу MySQL и в процессе работы периодически обменивается с ним данными. Случилось так, что в процессе работы демона, сервер MySQL был перезагружен, после чего демон начал вываливать ошибки при каждом обращении к MySQL. Вопрос, собственно, как правильно отловить момент перезагрузки MySQL сервера, чтобы демон мог заново к нему переподключиться, до того, как отправит запрос по несуществующему соединению и получит ошибку?
Два варианта сразу приходят в голову:
1. Подключаться к MySQL при каждом новом запросе, вместо постоянного соединения.
2. Создать тестовую запись в БД и проверять запрос к ней. Получили то, что записали, - подключение живо...
Оба варианта кривые: первый - слишком ресурсоёмкий при большом количестве запросов демона к базе, да и можно наткнуться на лимит подключений (если он есть), а второй - это постоянное получение всё того же ошибочного запроса, но это как-то через одно место.
Натолкните, пожалуйста, на мысль, как можно правильно демоном следить за подключением к MySQL?
PHP 5.2.9, MySQL 5.1.40
Есть демон на PHP, который после запуска подключается к серверу MySQL и в процессе работы периодически обменивается с ним данными. Случилось так, что в процессе работы демона, сервер MySQL был перезагружен, после чего демон начал вываливать ошибки при каждом обращении к MySQL. Вопрос, собственно, как правильно отловить момент перезагрузки MySQL сервера, чтобы демон мог заново к нему переподключиться, до того, как отправит запрос по несуществующему соединению и получит ошибку?
Два варианта сразу приходят в голову:
1. Подключаться к MySQL при каждом новом запросе, вместо постоянного соединения.
2. Создать тестовую запись в БД и проверять запрос к ней. Получили то, что записали, - подключение живо...
Оба варианта кривые: первый - слишком ресурсоёмкий при большом количестве запросов демона к базе, да и можно наткнуться на лимит подключений (если он есть), а второй - это постоянное получение всё того же ошибочного запроса, но это как-то через одно место.
Натолкните, пожалуйста, на мысль, как можно правильно демоном следить за подключением к MySQL?