Example #1
0
 def __init__(self, channel, name, no_ack=None, queue_opts=None,
              queue_args=None, exchange_opts=None, serializer=None,
              compression=None, **kwargs):
     queue = name
     queue_opts = dict(self.queue_opts, **queue_opts or {})
     queue_args = dict(self.queue_args, **queue_args or {})
     exchange_opts = dict(self.exchange_opts, **exchange_opts or {})
     if no_ack is None:
         no_ack = self.no_ack
     if not isinstance(queue, entity.Queue):
         exchange = entity.Exchange(name, **exchange_opts)
         queue = entity.Queue(name, exchange, name,
                              queue_arguments=queue_args,
                              **queue_opts)
         routing_key = name
     else:
         exchange = queue.exchange
         routing_key = queue.routing_key
     consumer = messaging.Consumer(channel, queue)
     producer = messaging.Producer(channel, exchange,
                                   serializer=serializer,
                                   routing_key=routing_key,
                                   compression=compression)
     super(AmqpBuffer, self).__init__(channel, producer,
                                       consumer, no_ack, **kwargs)
Example #2
0
 def __init__(self,
              channel,
              name,
              no_ack=None,
              queue_opts=None,
              exchange_opts=None,
              serializer=None,
              compression=None,
              **kwargs):
     queue = name
     queue_opts = dict(self.queue_opts, **queue_opts or {})
     exchange_opts = dict(self.exchange_opts, **exchange_opts or {})
     if no_ack is None:
         no_ack = self.no_ack
     if not isinstance(queue, entity.Queue):
         exchange = entity.Exchange(name, "direct", **exchange_opts)
         queue = entity.Queue(name, exchange, name, **queue_opts)
     else:
         name = queue.name
         exchange = queue.exchange
     producer = messaging.Producer(channel,
                                   exchange,
                                   serializer=serializer,
                                   routing_key=name,
                                   compression=compression)
     consumer = messaging.Consumer(channel, queue)
     super(SimpleQueue, self).__init__(channel, producer, consumer, no_ack,
                                       **kwargs)
Example #3
0
 def __init__(self, channel, queue, **kwargs):
     self.channel = maybe_channel(channel)
     self.no_ack = kwargs.get("no_ack", False)
     self._queue_declare = kwargs.get("queue_declare", False)
     self.consumer = messaging.Consumer(channel, queue, auto_declare=False)
     self.inqueues = self.consumer.queues
     self.buffer = deque()
     self.consumer.register_callback(self._receive)
     if self._queue_declare:
         for q in self.inqueues:
             try:
                 q.exchange.declare()
             except Exception as e:  # todo fix this exception
                 print e
                 pass
             q.queue_declare()
             q.queue_bind()
     self._last_message = None
     self._lastq = 0