Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 烧瓶流动不';在完成之前,不要返回响应_Python_Python 3.x_Flask_Generator_Flask Sqlalchemy - Fatal编程技术网

Python 烧瓶流动不';在完成之前,不要返回响应

Python 烧瓶流动不';在完成之前,不要返回响应,python,python-3.x,flask,generator,flask-sqlalchemy,Python,Python 3.x,Flask,Generator,Flask Sqlalchemy,因此,我尝试将从sql数据库返回的数据块流化。这些数据块似乎是流式的,但是当我点击端点时,它会在请求完成的最后显示响应,而不是逐块显示流式数据块。我知道这方面已经有问题了,但添加mimetype似乎对我不起作用。我有以下代码: 非常感谢您的帮助 def generate_chunks(): result = _get_query_service(repo_url, True).stream_query(qry) chunk_count

因此,我尝试将从sql数据库返回的数据块流化。这些数据块似乎是流式的,但是当我点击端点时,它会在请求完成的最后显示响应,而不是逐块显示流式数据块。我知道这方面已经有问题了,但添加mimetype似乎对我不起作用。我有以下代码:

非常感谢您的帮助

       def generate_chunks():
            result = _get_query_service(repo_url, True).stream_query(qry)
            chunk_counter = 0

            while True:
                chunk = result.fetchmany(5)
                chunk_counter += 1
                if not chunk:
                    break
                for value in chunk:
                    yield str(chunk)

        return Response(stream_with_context(generate_chunks()), content_type='application/json', status=200)

实际上这是一件小事。上述代码有效

但邮递员和失眠等工具不支持流式数据

如果您希望看到数据流的运行,请使用CURL或python请求

对于CURL,您需要添加
--no buffer
选项来查看流数据

curl --no-buffer -v http://localhost:8082/healthy
对于Python请求,您需要添加
stream=True
。例如:

r=requests.post('http://localhost:8082/stream_query,json=dc,stream=True)
r、 编码='utf-8'
对于r.iter_内容中的行(chunk_size=10):#以块的形式打印流数据
打印(行)