同一个应用程序中的几个(两个)Flask对象

时间:2016-04-05 13:11:21

标签: python flask

我在同一个python应用程序中需要两个http服务器(有两个不同的端口8081和8082): 一个用于来自网络摄像头并发送到WebBrowser的视频流; 第二个命令(质量,过滤器等) 我没有成功定义两个Flask对象,因为'app.run'是阻塞的。 是可能的,还是需要使用Flask和BaseHTTPServer? 最好的问候。

2 个答案:

答案 0 :(得分:1)

您可以拨打Flask.run(port=8081),但不能在同一个过程中调用(因为run()确实在阻止)。

您应该为每个服务创建不同的Flask个实例,并在单独的命令中运行它们(尽管一个可以在后台运行):

<强> run.sh

#!/usr/bin/env sh
# Runs in background:
python app_webcam.py &
# Runs in foreground
python app_command.py

<强> app_webcam.py

# ... (setup you Flask app)
if __name__ == '__main__':
    app.run(port=8081)

<强> app_command.py

# ... (setup you Flask app)
if __name__ == '__main__':
    app.run(port=8082)

答案 1 :(得分:0)

好的,解决方案是: app.run(threaded = True,...) 现在可以同时处理多个请求,例如视频流,另一个用于视频参数调整等。