From e72df954d73a1a6b72da3c49f86338a57a924ea7 Mon Sep 17 00:00:00 2001 From: Pino de Candia Date: Mon, 12 Mar 2018 18:38:52 +0000 Subject: [PATCH] Use sqlalchemy pool_recycle 3600 (seconds) to avoid re-using connections that MySQL already closed. This fixes "MySQL server has gone away" error that occurs after long idle times. Change-Id: I9e17ac6d2494e0db5f3d3ccbd5e45dd3172e7141 Signed-off-by: Pino de Candia --- tatu/db/persistence.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tatu/db/persistence.py b/tatu/db/persistence.py index 64c115b..3828df7 100644 --- a/tatu/db/persistence.py +++ b/tatu/db/persistence.py @@ -23,7 +23,7 @@ class SQLAlchemySessionManager(object): def __init__(self): LOG.info('Creating sqlalchemy engine {}'.format(config.CONF.tatu.sqlalchemy_engine)) - self.engine = create_engine(config.CONF.tatu.sqlalchemy_engine) + self.engine = create_engine(config.CONF.tatu.sqlalchemy_engine, pool_recycle=3600) #self.engine.execute("CREATE DATABASE IF NOT EXISTS tatu;") #self.engine.execute("USE tatu;") Base.metadata.create_all(self.engine)