我如何在Raspberry Pi上运行Flask和Gunicorn / uwsgi

时间:2019-03-05 13:06:10

标签: python flask raspberry-pi

我有Flask应用程序,可在Raspberry Pi的虚拟环境中运行。应用流式传输来自picamera的视频,并且可以接收其他一些请求。应用使用python run.py可以正常工作。我想将应用程序配置为在重启后自动运行,并使用未内置的Flask服务器。我试过了Gunicorn和uwsgi。但是,运行gunicorn会导致CRITICAL WORKER TIMEOUT错误(可能是由于在process_stream.py文件中加载了keras模型),并且运行uswgi也失败了,但是没有任何错误(生成了工作器,但相机未返回任何帧) 。有人可以分享一些有关这种情况的提示吗?

run.py文件:

from app import app, processing_stream

if __name__ == "__main__":
    processing_stream.start()
    app.run(host='0.0.0.0', use_reloader=False)

app.py文件:

import io
import os
import cv2

from flask import Flask, request, Response, render_template, send_file
from PIL import Image

from process_stream import ProcessStream


app = Flask(__name__)
app.config.from_object(os.environ['APP_SETTINGS'])

processing_stream = ProcessStream()


@app.route('/')
def index():
    """Video streaming"""
    return render_template('index.html')

# some functions to retrieve information

def gen():
    while processing_stream.running:
        # yield frame

@app.route('/video_feed')
def video_feed():
    return Response(gen(),
                    mimetype='multipart/x-mixed-replace; boundary=frame')

0 个答案:

没有答案