From 114d5e3bc6af7824180c62f67626e83497795481 Mon Sep 17 00:00:00 2001 From: David Trattnig <david.trattnig@o94.at> Date: Sat, 27 Jun 2020 02:49:47 +0200 Subject: [PATCH] Autoflush Session. --- src/sync.py | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/sync.py b/src/sync.py index 49aaacc..cc1c6c6 100644 --- a/src/sync.py +++ b/src/sync.py @@ -29,7 +29,6 @@ from models import PlayLog, ActivityLog - class SyncJob(threading.Thread): """ Job periodically checking for data at one of the main nodes to be synchronized. @@ -44,7 +43,6 @@ class SyncJob(threading.Thread): sync_interval = None sync_batch_size = None - # Create a scoped local database session to be thread safe Session = None @@ -62,19 +60,16 @@ class SyncJob(threading.Thread): self.sync_batch_size = self.config.get("sync_batch_size") self.logger.info("Initialized Sync Job - Synchronizing API Nodes every %s seconds and with a max batch-size of %s." % (self.sync_interval, self.sync_batch_size)) - + # Create a scoped local database session to be thread safe engine = create_engine(self.config.get_database_uri()) - session_factory = sessionmaker(bind=engine) + session_factory = sessionmaker(autoflush=True, autocommit=False, bind=engine) self.Session = scoped_session(session_factory) - + def run(self): """ Starts the Job. """ - - # with self.app.app_context(): - self.synchronize() while not self.exit_event.wait(self.sync_interval): self.synchronize() -- GitLab