X-Git-Url: https://osm.etsi.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=osm_nbi%2Fnotifications.py;h=63d4ce832f61e21066c30159579efe1eddc5cf45;hb=7802ff80245ba7ba6055bc927b91e4f8b1f42542;hp=bcaa0d0a9830554129b919cada8da1e0b1b1c79a;hpb=f2af4a100d308e07f355d61b94fb27d1ccc97aa2;p=osm%2FNBI.git diff --git a/osm_nbi/notifications.py b/osm_nbi/notifications.py index bcaa0d0..63d4ce8 100644 --- a/osm_nbi/notifications.py +++ b/osm_nbi/notifications.py @@ -41,7 +41,6 @@ class NotificationException(Exception): class NotificationBase: - response_models = None # Common HTTP payload header for all notifications. payload_header = {"Content-Type": "application/json", "Accept": "application/json"} @@ -109,12 +108,12 @@ class NotificationBase: return payload async def send_notifications( - self, subscribers: list, loop: asyncio.AbstractEventLoop = None + self, + subscribers: list, ): """ Generate tasks for all notification for an event. :param subscribers: A list of subscribers who want to be notified for event. - :param loop: Event loop object. """ notifications = [] for subscriber in subscribers: @@ -155,21 +154,19 @@ class NotificationBase: if notifications: tasks = [] - async with aiohttp.ClientSession(loop=loop) as session: + async with aiohttp.ClientSession() as session: for notification in notifications: tasks.append( asyncio.ensure_future( - self.send_notification(session, notification, loop=loop), - loop=loop, + self.send_notification(session, notification), ) ) - await asyncio.gather(*tasks, loop=loop) + await asyncio.gather(*tasks) async def send_notification( self, session: aiohttp.ClientSession, notification: dict, - loop: asyncio.AbstractEventLoop = None, retry_count: int = 5, timeout: float = 5.0, ): @@ -178,7 +175,6 @@ class NotificationBase: after maximum number of reties, then notification is dropped. :param session: An aiohttp client session object to maintain http session. :param notification: A dictionary containing all necessary data to make POST request. - :param loop: Event loop object. :param retry_count: An integer specifying the maximum number of reties for a notification. :param timeout: A float representing client timeout of each HTTP request. """ @@ -227,7 +223,7 @@ class NotificationBase: notification["payload"]["subscriptionId"], backoff_delay ) ) - await asyncio.sleep(backoff_delay, loop=loop) + await asyncio.sleep(backoff_delay) # Dropping notification self.logger.debug( "Notification {} sent failed to subscriber:{}.".format( @@ -239,7 +235,6 @@ class NotificationBase: class NsLcmNotification(NotificationBase): - # SOL005 response model for nslcm notifications response_models = { "NsLcmOperationOccurrenceNotification": {