首页 > 解决方案 > python rabbitMQ 消费者,它消费一条消息并调用作为后台进程运行的 API

问题描述

我有一个简单的用例,我想使用来自 RabbitMQ 服务器的消息,这些消息是由第三方应用程序生成的,每当它们生成任何消息时,我希望我的消费者接收它并进行 API 调用。

我有下面的脚本来解决问题,但我不确定它是否是生产级解决方案,有什么办法可以改进它,或者如果我在主管的帮助下在后台运行这个脚本,它会正常工作。

import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost', 5672, '/', 
                                     pika.PlainCredentials("user", "pass")))
channel = connection.channel()

def callback(ch, method, properties, body):
    #Makes an API call

channel.basic_consume(queue="notifications.info", on_message_callback=callback, auto_ack=True)
channel.start_consuming()

标签: pythonrabbitmqpika

解决方案


是的,差不多就是这样。对于生产,您可以实施multiprocessing多个消费者来横向扩展解决方案。


推荐阅读