Python - Flask 在放入子线程时停止监听

问题描述 投票:0回答:1

我正在尝试在 Raspberry Pi 上使用 PyQt5 和 Flask 来创建网络服务器/GUI 组合。这两个模块(据我所知)都想在主线程中工作,但我在网上发现了一些文章说 Flask 可以在子线程中运行。在主线程中启动 PyQt GUI 后,子线程中的 Flask 停止接受新连接。

有没有更好的方法来处理这两个模块的线程,或者有没有一种方法可以确保 Flask 继续接受新连接?

我的启动脚本:

import threading
import json
from flask import Flask, request, jsonify
import gui

app = Flask(__name__)

... (Flask GET/POST functions removed for readability) ...

def runServer():
    app.run(debug=True, user_reloader=False, port=5000, host="192.168.1.142")

t1 = threading.Thread(target=runServer)
t1.start()
gui.start()

编辑: 启动脚本:

#! /bin/bash

export MIXER_PATH=/home/volume/RPi-VM-GUI/
export FLASK_APP=server.py
cd $MIXER_PATH
flask run --host=192.168.1.142 --port=5000 &
python multithreading flask pyqt pyqt5
1个回答
0
投票

我相信我的问题在于如何调用该过程。如果我直接调用该过程而不调用flask,PyQt和Flask将同时运行

 /home/volume/RPi-VM-GUI/server.py
© www.soinside.com 2019 - 2024. All rights reserved.