есть вопрос, нужно ли каждый раз вызывать функцию pymysql.connect или можно добавить в начале кода? Буду благодарен за ответ!
Ещё нужно учитывать что код у меня асинхронный и постоянно запущен
Через ООП можно сделать класс, в нём метод подключения, проверка наличия соединения в отдельный метод, который при отсутствии соединения переподключится, вызвав метод подключения.
import sqlite3 class Database: def init(self, name): self._conn = sqlite3.connect(name) self._cursor = self._conn.cursor() def enter(self): return self def exit(self, exc_type, exc_val, exc_tb): self.close() @property def connection(self): return self._conn @property def cursor(self): return self._cursor def commit(self): self.connection.commit() def close(self, commit=True): if commit: self.commit() self.connection.close() def execute(self, sql, params=None): self.cursor.execute(sql, params or ()) def fetchall(self): return self.cursor.fetchall() def fetchone(self): return self.cursor.fetchone() def query(self, sql, params=None): self.cursor.execute(sql, params or ()) return self.fetchall() Соединение поменять на нужное.
Настоятельно рекомендую использовать алхимию, а не маяться дурью. Если же в дури видишь смысл жизни, хотя бы используй пул соединений
Обсуждают сегодня