代码之家  ›  专栏  ›  技术社区  ›  Asym

从请求流创建块生成器-Python Flask

  •  0
  • Asym  · 技术社区  · 7 年前

    class ChunkProcessor(Resource):
        j = 0
        def chunk_fun(self):
            chunk_size = int(request.headers.get("x-chunk-size"))
            chunk = request.stream.read(chunk_size)
            self.j = 0
            while chunk:
                print("got chunk")
                yield chunk
                self.j += 1
                chunk = request.stream.read(chunk_size)
        def post(self):
            for i in self.chunk_fun():
                pass
            return {"success": "TRUE", "n_chunks": self.j}
    

    但现在我想把这些东西送到多个目的地。i、 e.如下:

    class ChunkProcessor(Resource):
        def chunk_fun(self):
            chunk_size = int(request.headers.get("x-chunk-size"))
            chunk = request.stream.read(chunk_size)
            while chunk:
                yield chunk
                chunk = request.stream.read(chunk_size)
        def post(self):
            res1 = MyAPI1().call(self.chunk_fun)
            res2 = MyAPI2().call(self.chunk_fun)
            return {"success": "TRUE", "output": [res1, res2]}
    

    在当前表单中,请求流在第一次调用时耗尽。

    理想情况下,我想通过 chunk generator

    目标是从Flask中的请求流创建块生成器函数。另外,我计划从不同的线程运行API调用。

    在这方面的任何帮助将不胜感激。谢谢!

    0 回复  |  直到 7 年前
    推荐文章