'Does the actual queuing.'

def _MultiNotifyQueue(self, queue, notifications, mutation_pool=None):

    notification_list = []
    now = rdfvalue.RDFDatetime.Now()
    for notification in notifications:
        if (not notification.first_queued):
            notification.first_queued = (self.frozen_timestamp or rdfvalue.RDFDatetime.Now())
        else:
            diff = (now - notification.first_queued)
            if (diff.seconds >= self.notification_expiry_time):
                logging.debug('Dropping    notification:    %s', str(notification))
                continue
        notification_list.append(notification)
    mutation_pool.CreateNotifications(self.GetNotificationShard(queue), notification_list)
