add algam
This commit is contained in:
@@ -110,9 +110,10 @@ class Database:
|
||||
|
||||
def test_connection(self) -> bool:
|
||||
"""Проверка подключения к базе данных"""
|
||||
from sqlalchemy import text
|
||||
try:
|
||||
with self.get_session() as session:
|
||||
session.execute("SELECT 1")
|
||||
session.execute(text("SELECT 1"))
|
||||
logger.info("Подключение к базе данных работает корректно")
|
||||
return True
|
||||
except Exception as e:
|
||||
@@ -137,9 +138,29 @@ def init_database():
|
||||
"""Инициализация базы данных (создание таблиц)"""
|
||||
db.create_tables()
|
||||
|
||||
def test_db_connection():
|
||||
"""Тестирование подключения к базе данных"""
|
||||
return db.test_connection()
|
||||
def test_db_connection(max_retries: int = 5, delay: int = 2):
|
||||
"""
|
||||
Тестирование подключения к базе данных с повторными попытками
|
||||
|
||||
Args:
|
||||
max_retries: Максимальное количество попыток
|
||||
delay: Задержка между попытками в секундах
|
||||
"""
|
||||
import time
|
||||
|
||||
for attempt in range(max_retries):
|
||||
try:
|
||||
if db.test_connection():
|
||||
return True
|
||||
except Exception as e:
|
||||
logger.warning(f"Попытка {attempt + 1}/{max_retries} подключения не удалась: {e}")
|
||||
|
||||
if attempt < max_retries - 1:
|
||||
logger.info(f"Ожидание {delay} секунд перед следующей попыткой...")
|
||||
time.sleep(delay)
|
||||
|
||||
logger.error(f"Не удалось подключиться к базе данных после {max_retries} попыток")
|
||||
return False
|
||||
|
||||
def load_image_from_file(file_path: str, alt_text: str = None):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user