From a858311eb9402795c664880eb83f4b989baab0a9 Mon Sep 17 00:00:00 2001 From: Lisa Zangrando Date: Wed, 25 Jan 2017 10:03:35 +0100 Subject: [PATCH] Add support for the automatic recycle of DB connections This solves the error 'Lost connection to MySQL server during query' due to MySQL, which removes connections after a timeout. - added a new configuration parameter for QueueManager: 'db_pool_recycle' Change-Id: I2974f414afa6cb3d44e85dd3e05600cfd49cb905 Sem-Ver: bugfix --- synergy_scheduler_manager/queue_manager.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/synergy_scheduler_manager/queue_manager.py b/synergy_scheduler_manager/queue_manager.py index 4330197..3718c6f 100644 --- a/synergy_scheduler_manager/queue_manager.py +++ b/synergy_scheduler_manager/queue_manager.py @@ -36,6 +36,7 @@ class QueueManager(Manager): self.config_opts = [ cfg.StrOpt("db_connection", help="the DB url", required=True), cfg.IntOpt('db_pool_size', default=10, required=False), + cfg.IntOpt('db_pool_recycle', default=30, required=False), cfg.IntOpt('db_max_overflow', default=5, required=False) ] self.queue_list = {} @@ -51,11 +52,13 @@ class QueueManager(Manager): db_connection = CONF.QueueManager.db_connection pool_size = CONF.QueueManager.db_pool_size + pool_recycle = CONF.QueueManager.db_pool_recycle max_overflow = CONF.QueueManager.db_max_overflow try: self.db_engine = create_engine(db_connection, pool_size=pool_size, + pool_recycle=pool_recycle, max_overflow=max_overflow) except Exception as ex: LOG.error(ex)