在异步模式下使用pika,如何获取服务器命名队列的名称?

时间:2014-09-11 09:17:43

标签: python pika

我跟随asynchronous consumer example,我想声明一个服务器命名的队列,如下所示:

channel.queue_declare(on_queue_declareok, '')

我的回调如下:

def on_queue_declareok(frame):
    queue_name = ????    # What goes here?
    channel.queue_bind(on_bindok, queue_name, EXCHANGE_NAME, ROUTING_KEY)

如何从frame参数获取服务器生成的名称。如果我打印出来,它看起来像这样:

<METHOD(['frame_type=1', 'channel_number=1',
    "method=<Queue.DeclareOk(['queue=amq.gen-NqdbEFHZdrtC4iLNdJpbjQ',
        'message_count=0', 'consumer_count=0'])>"])>

队列名称在那里。这是什么?如何获取队列名称?

1 个答案:

答案 0 :(得分:1)

您可以使用frame.method.queue声明唯一名称。