分享

源码里面怎么找不到对应的代码?

PYL591042460 发表于 2013-10-17 21:30:07 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 5482
openstack文档(AMQP and Nova)里说:“每个Nova服务(比如Compute服务,Volume服务,等)在初始化的时候就建立了两个队列”但是源码里面怎么找不到对应的代码啊?
有遇到过相同问题的朋友吗?求指导,,,,
              
               
               

已有(2)人评论

跳转到指定楼层
lmp1987 发表于 2013-10-17 21:30:51

            直接通过rabbitmqctl list_queues查看哦
        
回复

使用道具 举报

hackerain 发表于 2013-10-17 21:31:22

            不应该是2个吧,我看源代码应该是3个,初始化的时候建立了3个consumer,每一个consumer一个Queue,在nova.service.Service中的start()方法中:
        # Share this same connection for these Consumers
        self.conn.create_consumer(self.topic, rpc_dispatcher, fanout=False)
        node_topic = '%s.%s' % (self.topic, self.host)
        self.conn.create_consumer(node_topic, rpc_dispatcher, fanout=False)
        self.conn.create_consumer(self.topic, rpc_dispatcher, fanout=True)
        # Consume from all consumers in a thread
        self.conn.consume_in_thread()#把consumer放到绿色线程中,并且启动监听消息
顺着create_consumer()就能找到队列了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条