gpt4 book ai didi

python - 如何将 flask-socketio 用于没有 http 请求的 python 脚本

转载 作者:太空宇宙 更新时间:2023-11-04 02:56:49 26 4
gpt4 key购买 nike

我一直在关注thisthis链接以在客户端和服务器之间进行通信。我的基本想法是弹出我目前从 app.py(我的 flask 应用程序)发出的通知。但是,我也有单独的 python 脚本,它们没有 http 请求。我也想从这些脚本向客户端(浏览器)发送通知。所以我正在考虑从我的其他 python 脚本向 app.py 发送消息并从 app.py 发出。有没有更好的选择来实现这一点?

最佳答案

I was thinking of sending messages to app.py from my other python scripts and doing emit from app.py

实际上 Flask-SocketIO 就是这样做的。

您必须运行一个消息队列,通常是 Redis 或 RabbitMQ,您的服务器和外部脚本可以访问它。然后在您的服务器中,您创建您的 SocketIO 对象,如下所示:

socketio = SocketIO(app, message_queue='redis://')

在您的脚本中,您按如下方式创建它:

socketio = SocketIO(message_queue='redis://')

显然,您可以更改消息队列 URL 以匹配您正在使用的内容。

第一个对象是一个完全启用的服务器,它附加到您的 app Flask 实例。第二个是一个只能发出的“只写”对象,因为没有给它附加一个服务器。

当您从外部脚本发出时,脚本会向消息队列发送一条消息,该消息将被服务器拾取然后执行。

关于python - 如何将 flask-socketio 用于没有 http 请求的 python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42111765/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com