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)
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)
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