Merge pull request #231 feature-NEWDWH2021-1124 into develop

This commit is contained in:
朝倉 明日香 2023-07-12 11:03:49 +09:00
commit afe9fb545a

View File

@ -1,10 +1,28 @@
from sqlalchemy import (Connection, CursorResult, Engine, QueuePool,
create_engine, text)
create_engine, event, exc, text)
from sqlalchemy.engine.url import URL
from sqlalchemy.pool import Pool
from src.error.exceptions import DBException
from src.logging.get_logger import get_logger
from src.system_var import environment
logger = get_logger('DB接続')
@event.listens_for(Pool, 'checkout')
def ping_connection(dbapi_connection, connection_record, connection_proxy):
"""コネクションが切れた場合、再接続"""
cursor = dbapi_connection.cursor()
try:
cursor.execute("SELECT 1")
except Exception as e:
logger.info(f'DB接続に失敗したため、リトライします: {e}')
# raise DisconnectionError - pool will try
# connecting again up to three times before raising.
raise exc.DisconnectionError()
cursor.close()
class Database:
"""データベース操作クラス"""