Я разрабатываю приложение, которое использует базу данных MySQL. Пользователь может оставить приложение работать в течение нескольких дней, но большую часть времени приложение не использует базу данных. В любом случае соединение должно быть активным. И мне интересно, какой подход подходит для проверки того, действительно ли связь на самом деле жива?Обнаружение отключения QSqlDatabase
Должен ли я выполнять простой запрос каждые 5 секунд, чтобы проверить его?
Возможно, буквально каждые * 5 * секунд, но звучит как разумный подход. (В сочетании с проверкой фактического статуса открытости). Вы не получите сигналы из QSqlDriver, если соединение с БД будет разорвано (и QSqlDatabase не является QObject). – peppe
Будет интересно узнать, почему такого сигнала нет. – KcFnMi
Ну, а родные (C) API для баз данных уведомляют вас о потерянном соединении? Может быть, только никто не беспокоился ... – peppe