Example #1
0
def manage_webhook_data(_queue):
    warning_limit = datetime.utcnow()
    while True:
        # Check queue length periodically
        if (datetime.utcnow() - warning_limit) > timedelta(seconds=30):
            warning_limit = datetime.utcnow()
            size = _queue.qsize()
            if size > 2000:
                log.warning(
                    "Queue length at %s! This may be causing a"
                    "significant delay in notifications.", size)
        # Distribute events to the other managers
        data = _queue.get(block=True)
        obj = Events.event_factory(data)
        if obj is None:  # TODO: Improve Event error checking
            continue
        for name, mgr in managers.iteritems():
            if isinstance(obj, list):
                for event in obj:
                    mgr.update(event)
                    log.debug("Distributed event %s to %s managers.", event.id,
                              len(managers))
            else:
                mgr.update(obj)
        if not isinstance(obj, list):
            log.debug("Distributed event %s to %s managers.", obj.id,
                      len(managers))
Example #2
0
def manage_webhook_data(queue):
    while True:
        qsize = queue.qsize()
        if qsize > 5000:
            log.warning("Queue length is at %s... this may be causing "
                        + "a significant delay in notifications.", qsize)
        data = queue.get(block=True)
        obj = Events.event_factory(data)
        if obj is not None:
            for name, mgr in managers.iteritems():
                mgr.update(obj)
                log.debug("Distributing event {} to manager {}.".format(
                    obj.id, name))
            log.debug("Finished distributing event: {}".format(obj.id))
Example #3
0
def manage_webhook_data(_queue):
    warning_limit = datetime.utcnow()
    while True:
        # Check queue length periodically
        if (datetime.utcnow() - warning_limit) > timedelta(seconds=30):
            warning_limit = datetime.utcnow()
            size = _queue.qsize()
            if size > 2000:
                log.warning("Queue length at %s! This may be causing a"
                            "significant delay in notifications.", size)
        # Distribute events to the other managers
        data = _queue.get(block=True)
        obj = Events.event_factory(data)
        if obj is None:  # TODO: Improve Event error checking
            continue
        for name, mgr in managers.iteritems():
            mgr.update(obj)
        log.debug("Distributed event %s to %s managers.",
                  obj.id, len(managers))