c语言sscanf函数的用法是什么
275
2022-11-25
RPC实战与核心原理
第一步:同样的,首先我们需要做的也是连接RabbitMQ,负责连接RabbitMQ的代码和send.py中的一样。download:RPC实战与核心原理
第二步:这一步需要做的也要确定队列的存在,我们可以执行多次queue_declare,但是无论执行多少次,将只创建一次队列
channel.queue_declare(queue='hello') #这个操作是幂等的
但问题的所在就在于,我们根本无法确定,到底是send.py先运行还是receive.py先运行,因此最保险的做法就是在两个程序中都定义上这一条,反正是如果队列已经有了就不会重新创建。
查看RabbitMQ有多少条消息,(授权用户)可以使用rabbitmqctl tool: $ sudo rabbitmqctl list_queues Listing queues ... hello 0 ...done.
第三步:比起发消息来说,从队列中收消息是更加复杂一点,它订阅一个callback函数到一个队列,一旦收到消息,这个callback函数就会被(Pika库)调用。此处我们就写一个简单的callback函数(只完成打印功能)
def callback(ch, method, properties, body): print(" [x] Received %r" % body)
第四步:我们需要告诉RabbitMQ,这个特殊的callback函数应该从我们的队列接收消息。
channel.basic_consume(callback, queue='hello', no_ack=True)
要想让上面这条命令正确执行,我们必须保证队列我们订阅的队列是存在的,幸运的是,我们很有信心,因为我们已经在上面创建了一个队列‒使用queue_declare。
no_ack参数将在后面描述
第五步:最后,我们进入一个无休止的循环,等待数据,并且在必要时运行回调callback
print(' [*] Waiting for messages. To exit press CTRL+C') channel.start_consuming()
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~