Fix nfdeployment deleting issue
[pti/o2.git] / o2app / adapter / unit_of_work.py
index 1c9cae0..732216e 100644 (file)
@@ -27,15 +27,21 @@ from o2dms.adapter import dms_repository
 from o2common.helper import o2logging\r
 logger = o2logging.get_logger(__name__)\r
 \r
+\r
+engine = create_engine(\r
+    config.get_postgres_uri(),\r
+    isolation_level="REPEATABLE READ",\r
+    pool_size=200, max_overflow=0,\r
+    pool_recycle=3600\r
+)\r
+\r
 DEFAULT_SESSION_FACTORY = sessionmaker(\r
-    bind=create_engine(\r
-        config.get_postgres_uri(),\r
-        isolation_level="REPEATABLE READ",\r
-    )\r
+    autocommit=False, autoflush=False, bind=engine\r
 )\r
 \r
 \r
 class SqlAlchemyUnitOfWork(AbstractUnitOfWork):\r
+\r
     def __init__(self, session_factory=DEFAULT_SESSION_FACTORY):\r
         self.session_factory = session_factory\r
 \r
@@ -51,8 +57,8 @@ class SqlAlchemyUnitOfWork(AbstractUnitOfWork):
             .ResourceSqlAlchemyRepository(self.session)\r
         self.subscriptions = ocloud_repository\\r
             .SubscriptionSqlAlchemyRepository(self.session)\r
-        self.registrations = ocloud_repository\\r
-            .RegistrationSqlAlchemyRepository(self.session)\r
+        self.configurations = ocloud_repository\\r
+            .ConfigurationSqlAlchemyRepository(self.session)\r
         self.deployment_managers = ocloud_repository\\r
             .DeploymentManagerSqlAlchemyRepository(self.session)\r
         self.nfdeployment_descs = dms_repository\\r
@@ -90,6 +96,12 @@ class SqlAlchemyUnitOfWork(AbstractUnitOfWork):
         for entry in self.deployment_managers.seen:\r
             while hasattr(entry, 'events') and len(entry.events) > 0:\r
                 yield entry.events.pop(0)\r
+        for entry in self.subscriptions.seen:\r
+            while hasattr(entry, 'events') and len(entry.events) > 0:\r
+                yield entry.events.pop(0)\r
+        for entry in self.configurations.seen:\r
+            while hasattr(entry, 'events') and len(entry.events) > 0:\r
+                yield entry.events.pop(0)\r
         for entry in self.nfdeployment_descs.seen:\r
             while hasattr(entry, 'events') and len(entry.events) > 0:\r
                 yield entry.events.pop(0)\r