diff --git a/zaqar/notification/notifier.py b/zaqar/notification/notifier.py index 4e7c701c0..069c7403d 100644 --- a/zaqar/notification/notifier.py +++ b/zaqar/notification/notifier.py @@ -19,6 +19,8 @@ import futurist from oslo_log import log as logging from six.moves import urllib_parse +from zaqar.storage import pooling + LOG = logging.getLogger(__name__) @@ -34,19 +36,19 @@ class NotifierDriver(object): def post(self, queue_name, messages, client_uuid, project=None): """Send messages to the subscribers.""" - if self.subscription_controller: + if (self.subscription_controller and + not isinstance(self.subscription_controller, + pooling.SubscriptionController)): subscribers = self.subscription_controller.list(queue_name, project) for sub in next(subscribers): s_type = urllib_parse.urlparse(sub['subscriber']).scheme data_driver = self.subscription_controller.driver - conf = (getattr(data_driver, 'conf', None) or - getattr(data_driver, '_conf')) mgr = driver.DriverManager('zaqar.notification.tasks', s_type, invoke_on_load=True) self.executor.submit(mgr.driver.execute, sub, messages, - conf=conf) + conf=data_driver.conf) else: LOG.error('Failed to get subscription controller.')