如何解决Fastapi 使用实时消息
我有一个虚拟助手,可以接收消息并将其发送到事件代理(例如 rabbitmq)。
事件代理允许我将我的运行助手连接到处理来自对话的数据的其他服务。
示例:
如果我有一个 RabbitMQ 服务器正在运行,以及另一个使用事件的应用程序,那么这个消费者需要使用回调操作来实现 pika 的 start_sumption() 方法。这是一个简单的例子:
import json
import pika
def _callback(self,ch,method,properties,body):
# Do something useful with your incoming message body here,e.g.
# saving it to a database
print('Received event {}'.format(json.loads(body)))
if __name__ == '__main__':
# RabbitMQ credentials with username and password
credentials = pika.PlainCredentials('username','password')
# pika connection to the RabbitMQ host - typically 'rabbit' in a
# docker environment,or 'localhost' in a local environment
connection = pika.BlockingConnection(
pika.ConnectionParameters('rabbit',credentials=credentials))
# start consumption of channel
channel = connection.channel()
channel.basic_consume(_callback,queue='events',no_ack=True)
channel.start_consuming()
使用 fastapi 和 pika 来使用这些实时消息并将其保存到数据库的正确方法是什么?
我需要一个 websocket 路由吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。