Flask:从单个请求增量返回多个响应

时间:2019-10-23 21:13:57

标签: python flask

我有一个Flask服务器,它执行一些非常复杂的计算,最多可能需要30分钟才能完成。我编写了代码,以在整个过程中获得最佳结果。例如,我的代码可能在5分钟时产生最高结果,然后在20分钟时产生更好的结果,然后在30分钟时结束该过程。另一个例子是,它可能会在3分钟后返回结果,并在10分钟后停止。

我想将这些热门结果发送到前端的可视化图表中。无论如何,是否可以随时通过Flask API连续流数据?代替传统的单一请求,采用单一响应方法。

我想想Flask路线可能看起来像这样:

@app.route("/stream", methods=["POST"])
def stream():
    curr_result = 0
    max_result = 0
    while True:
        curr_result = run_calculations(curr_result)
        if not curr_result:
            break
        if curr_result > max_result:
            max_result = curr_result
            yield max_result

0 个答案:

没有答案