Example #1
0
 def notifier(self, publisher, topic=None):
     transport = self.useFixture(TransportFixture(self.conf, self.url))
     n = notifier.Notifier(transport.transport,
                           publisher,
                           driver='messaging',
                           topic=topic or self.topics[0])
     transport.wait()
     return n
Example #2
0
 def __init__(self, url, publisher_id=None, driver=None,
              topic=None, serializer=None):
     self.notifier = notifier.Notifier(
         notifier.get_notification_transport(self.CONF, url),
         publisher_id, driver,
         topic,
         serializer() if serializer else None)
     logging.Handler.__init__(self)
Example #3
0
 def __init__(self,
              url,
              publisher_id=None,
              driver=None,
              topic=None,
              serializer=None):
     self.notifier = notifier.Notifier(
         notifier.get_notification_transport(self.CONF, url),
         publisher_id,
         driver,
         serializer() if serializer else None,
         topics=(topic
                 if isinstance(topic, list) or topic is None else [topic]))
     logging.Handler.__init__(self)
Example #4
0
def notify_msg(transport, item):
    """Opens a message file and calls the notifier.Notifier.info().
    """
    try:
        with open(item[MESSAGE_FILE]) as fp:
            logger.info('publisher_id=' + item[PUBLISHER_ID] + ' event_type=' +
                        item[EVENT_TYPE] + ' topics=' + ''.join(item[TOPICS]))
            data = json.load(fp)
            notifier_log = notifier.Notifier(transport,
                                             publisher_id=item[PUBLISHER_ID],
                                             driver='messagingv2',
                                             topics=item[TOPICS],
                                             retry=10)
            notifier_log.info(ctxt=data['ctxt'],
                              event_type=item[EVENT_TYPE],
                              payload=data['payload'])
            return True
    except OSError as err:  # open raises OSError
        logger.error(err)
    except MessageDeliveryFailure as err:  # info raises MessageDeliveryFailure
        logger.error(err)