与 Flask 交互的其他应用程序

Other apps interfacing with Flask

标题可能有误,但希望能更好地解释一下。我有一个为网站提供服务的 Flask 应用程序。我有另一个基于训练模型识别手势的应用程序。我怎样才能让手势触发烧瓶应用程序中的事件,例如浏览到网站上的另一个页面。 我在考虑使用 flask-socketio 创建一个 websocket,两个应用程序可以通过它进行通信...我也在考虑 运行 手势应用程序作为 flask 应用程序中的线程,并且还使用 websocket ... 对此的任何帮助将不胜感激。 我经常想知道如何让其他 apps/threads 与 Flask 交互,所以也很好奇人们做了什么来实现这一点。

第一个解决方案

如果两者都是 Flask 应用程序或只是 Web 应用程序,那么您可以按照说明 here 只使用 Requests 库。 这是最简单的方法。

可能的设置示例:

  • 第一个应用正在本地主机上侦听:5000
  • 第二个应用程序正在侦听本地主机:5001

第一个应用程序完成了一项工作,然后执行以下行:

r = requests.get('http://localhost:5001/finished_job')

在您的第二个应用中:

@application.route("/finished_job", methods=["GET"])
def finished_job():
    """Do what you have to do."""

它被称为 REST API。应用程序通过 HTTP 请求进行通信。那是你可以做的更容易。

第二个解决方案: 使用 Queue 在进程之间进行通信,如解释的那样 here

第三个解决方案: 将结果写入文件并在 Flask 应用程序中读取该文件。

第四解: 在您的 Flask 应用程序中导入您的第一个应用程序。并把它 运行 变成一个线程。或者只在需要时调用它。