我有这个密码:
from kombu.transport import pyamqp
from kombu import Connection, Exchange, Queue, Producer, Consumer
transport = pyamqp
vhost = '/'
host = '127.0.0.1'
port = '5672'
usr = 'guest'
pwd = 'guest'
conn = Connection(virtual_host=vhost, hostname=host, port=port, userid=usr, password=pwd)
chan = conn.channel()
exchange = Exchange(name='ami_exch', type='topic', channel=chan, durable=True, auto_delete=True, delivery_mode='persistent')
exchange.declare(nowait=False)
q_ctl = Queue(name='ami.ctl', channel=chan, exchange=exchange, routing_key='ami.ctl.#', durable=True, auto_delete=True, exclusive=False)
q_ctl.declare(nowait=False)
q_str = Queue(name='ami.str', channel=chan, exchange=exchange, routing_key='ami.str.*', durable=True, auto_delete=True, exclusive=False)
q_str.declare(nowait=False)
msg = exchange.Message("Test MQ message.")
exchange.publish(message=msg, routing_key='ami.ctl')
exchange.publish(message=msg, routing_key='ami.str.send')
a = []
def tst(body, message):
a.append(body)
consumer = Consumer(channel=chan, queues=[q_ctl,q_str], auto_declare=False, no_ack=True, callbacks=tst)
consumer.consume()
print a
在我运行consumer.consume()
之后,我的a
变量仍然是一个空列表,但是在rabbitmq队列中现在是空的,这意味着它们被使用了。你知道吗
进一步尝试将更多的消息放入队列是没有意义的,因为队列仍然是空的,就好像我没有连接到队列一样,或者消息被直接消耗了一样。你知道吗
我做错了什么?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐