fix 1187 create notification task with the proper loop 78/9578/1
authortierno <alfonso.tiernosepulveda@telefonica.com>
Mon, 10 Aug 2020 13:53:57 +0000 (13:53 +0000)
committertierno <alfonso.tiernosepulveda@telefonica.com>
Wed, 12 Aug 2020 14:49:03 +0000 (14:49 +0000)
Also call notifications when there are subscribers

Change-Id: Icf6b4f88aaf633282c2736de85803f845b17d4c6
Signed-off-by: tierno <alfonso.tiernosepulveda@telefonica.com>
osm_nbi/notifications.py
osm_nbi/subscriptions.py

index 9156c2c..2e7ba94 100644 (file)
@@ -133,11 +133,13 @@ class NotificationBase:
                                   .format(subscriber["subscriptionId"],
                                           subscriber["authentication"]["authType"]))
 
-        tasks = []
-        async with aiohttp.ClientSession(loop=loop) as session:
-            for notification in notifications:
-                tasks.append(asyncio.ensure_future(self.send_notification(session, notification, loop=loop), loop=loop))
-            await asyncio.gather(*tasks, loop=loop)
+        if notifications:
+            tasks = []
+            async with aiohttp.ClientSession(loop=loop) as session:
+                for notification in notifications:
+                    tasks.append(asyncio.ensure_future(self.send_notification(session, notification, loop=loop),
+                                                       loop=loop))
+                await asyncio.gather(*tasks, loop=loop)
 
     async def send_notification(self, session: aiohttp.ClientSession, notification: dict,
                                 loop: asyncio.AbstractEventLoop = None, retry_count: int = 5, timeout: float = 5.0):
index c6105ee..ec70d0c 100644 (file)
@@ -201,7 +201,9 @@ class SubscriptionThread(threading.Thread):
                                                                      event_details)
                             # self.logger.debug("subscribers list: ")
                             # self.logger.debug(subscribers)
-                            asyncio.ensure_future(self.nslcm.send_notifications(subscribers, loop=self.loop))
+                            if subscribers:
+                                asyncio.ensure_future(self.nslcm.send_notifications(subscribers, loop=self.loop),
+                                                      loop=self.loop)
                 else:
                     self.logger.debug("Message can not be used for notification of nslcm")
             elif topic == "nsi":