@TAnonim

Как лучше организовать подключение к MySQL?

Приветствую. Есть бот, процесс-демон на php, который должен работать вечно. В нем в некоторых случаях мне нужна база данных. Заметил, что после того, как бот поработает какое-то время, возникают ошибки "MySQL server has gone away" и "error while sending QUERY packet". Как я понимаю, они возникают из-за тайм аута соединения с MySQL сервером.
Возник вопрос, когда лучше подключаться к БД? Максимальное время ожидания mysql сервера - 8 часов, следовательно сделать подключение один раз перед входом в вечный цикл - не подходит. Делать после каждой итерации вечного цикла переподключение? Или как лучше?
  • Вопрос задан
  • 323 просмотра
Пригласить эксперта
Ответы на вопрос 2
@VitGun
при каждом обращении к базе устанавливать соединение, выполнять запрос, обрабатывать результат и отключаться.
Ответ написан
@Quieteroks
php программист
Смотря каким драйвером вы пользуетесь для подключения. Возможно есть функция ping (для mysqli точно есть), которой можно проверять соединение и переподключаться заново. А так же демоны на pcntl имеют свойство терять соединение во время форка потомков.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы