Flask API 使用队列从另一个进程获取数据

Flask API to get data from another process with Queues

我有一个代码可以为我做一些分析并将信息保存在multiprocessing.Queue

例如

import multiprocessing 
import time 

q = multiprocessing.Queue

for i in range(1000):
    q.put(i)
    time.sleep(1)

我想启动一个烧瓶 REST API returns q 上的值,但我找不到任何方法来做到这一点。

我试过了,但没有任何效果,只是关闭。

from multiprocessing import Process
import flask

class API():
    def __init__(self):
        
        self.p = Process(name='FlaskTest', target=self.start , args=())
    
    def start(self, host='0.0.0.0', port='5000', debug=True):

        app = flask.Flask(__name__)

        @app.route('/', methods=['GET'])
        def home():
            return "<h1>Se isso der certo vou ficar muito feliz</h1>"

        app.run(host=host, port=port, debug=debug)

if __name__ == '__main__':
    api = API()

您没有在 API 对象上调用 start() 方法,因此它只是创建 API() 对象并退出。