2016-04-05 18 views
2

同じPythonアプリケーション(2つの異なるポート8081と8082)で2つのhttpサーバが必要です。 Webカメラから送信され、WebBrowserに送信されるビデオストリーム用です。 2番目のコマンド(品質、フィルタなど) 'app.run'がブロックされているため、2つのFlaskオブジェクトを定義することに成功しません。 FlaskとBaseHTTPServerを使用する必要はありますか? よろしくお願いいたします。同じアプリケーション内に複数のFlaskオブジェクトがあります

答えて

1

Flask.run(port=8081)を呼び出すことはできますが、同じプロセス(run()が本当にブロックされている)にはコールできません。

あなたは、各サービスごとに異なるFlaskインスタンスを作成し、(1がバックグラウンドで実行することができますが)別のコマンドでそれらを実行する必要があります。

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) 

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

はい、しかし、私は他の1つのインタフェースから受け取ったコマンドをメッセージングなどなしで簡単に適用したいのですが... – maiagarbot

0

[OK]を10 app_command.pyは、ソリューションは次のとおりです。 app.run(= Trueのスレッド、...) は、今ではビデオストリーミングのためのexemple 1のために、同時に複数の要求を処理することが可能です、ビデオパラメータの調整などのための他のもの。

関連する問題