python - 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()
解决方案
是的,差不多就是这样。对于生产,您可以实施multiprocessing
多个消费者来横向扩展解决方案。
推荐阅读
- asp.net-mvc - 通过 EF6 和 LINQ 从 Oracle DB 接收相关实体
- html - Bind service property to a controller AngularJS
- excel - CK13N 事务使用 VBA 从 GuiTree 表字段中读取文本
- android - 加密存储在 Firebase 数据库中的聊天消息
- c++ - 是否可以将解压缩元组的一个元素标记为未使用
- java - java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException
- php - Woocommerce pdf 发票:按税率 ID 过滤/排序产品并计算商品价格(每个税率 ID 的总和)
- react-native - 如何在非类组件中设置状态
- sql - 基于日期运行计数器
- multiprocessing - 函数之间的同步