def __init__(self, controllercls, connection, exchange, topic, pool=None, poolsize=1000): self.nodeid = UIDGEN() if pool is None: self.procpool = GreenPool(size=poolsize) else: self.procpool = pool self.connection = connection self.controller = controllercls() self.topic = topic self.greenlet = None self.messagesem = Semaphore() self.consume_ready = Event() node_topic = "{}.{}".format(self.topic, self.nodeid) self.queues = [ entities.get_topic_queue(exchange, topic), entities.get_topic_queue(exchange, node_topic), entities.get_fanout_queue(topic), ] self._channel = None self._consumers = None
def test_send_fanout(connection): with connection as conn: with conn.channel() as chan: queue = entities.get_fanout_queue('test', channel=chan) queue.declare() sending.send_fanout(conn, topic='test', data='success') msg = ifirst( consuming.queue_iterator(queue, no_ack=True, timeout=0.2)) assert msg.payload == 'success' # check consumefrom has removed entry assert not consuming._conndrainers
def test_send_fanout(connection): with connection as conn: with conn.channel() as chan: queue = entities.get_fanout_queue('test', channel=chan) queue.declare() sending.send_fanout(conn, topic='test', data='success') msg = ifirst(consuming.queue_iterator(queue, no_ack=True, timeout=0.2)) assert msg.payload == 'success' # check consumefrom has removed entry assert not consuming._conndrainers
def __init__(self, controllercls, connection, exchange, topic, pool=None, poolsize=1000): self.nodeid = UIDGEN() if pool is None: self.procpool = GreenPool(size=poolsize) else: self.procpool = pool self.connection = connection self.controller = controllercls() self.topic = topic self.greenlet = None self.messagesem = Semaphore() self.consume_ready = Event() node_topic = "{}.{}".format(self.topic, self.nodeid) self.queues = [entities.get_topic_queue(exchange, topic), entities.get_topic_queue(exchange, node_topic), entities.get_fanout_queue(topic), ] self._channel = None self._consumers = None