From 253550b4900433216d14bbe8e41c9b49004cc9fb Mon Sep 17 00:00:00 2001 From: Keith Edmunds Date: Sat, 4 May 2024 20:35:14 +0100 Subject: [PATCH] Implement SQLAlchemy Pool.pre_ping Fixes #241 --- app/config.py | 1 + app/models.py | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/config.py b/app/config.py index d4e8acb..1d94487 100644 --- a/app/config.py +++ b/app/config.py @@ -39,6 +39,7 @@ class Config(object): DEFAULT_COLUMN_WIDTH = 200 DISPLAY_SQL = False EPOCH = dt.datetime(1970, 1, 1) + ENGINE_OPTIONS = dict(pool_pre_ping=True) ERRORS_FROM = ["noreply@midnighthax.com"] ERRORS_TO = ["kae@midnighthax.com"] FADE_CURVE_BACKGROUND = "lightyellow" diff --git a/app/models.py b/app/models.py index 2aaba94..d579103 100644 --- a/app/models.py +++ b/app/models.py @@ -33,7 +33,7 @@ if ALCHEMICAL_DATABASE_URI is None: raise ValueError("ALCHEMICAL_DATABASE_URI is undefined") if "unittest" in sys.modules and "sqlite" not in ALCHEMICAL_DATABASE_URI: raise ValueError("Unit tests running on non-Sqlite database") -db = Alchemical(ALCHEMICAL_DATABASE_URI) +db = Alchemical(ALCHEMICAL_DATABASE_URI, engine_options=Config.ENGINE_OPTIONS) # Database classes