Потоковая передача ответа не работает с Flask-Restful

У меня есть сценарий, в котором я хочу показать вывод долго работающего скрипта через Flask API. Я следовал примеру, приведенному для Flask, и он работает. Я получаю dmesg steam в своем браузере.

import subprocess
import time
from flask import Flask, Response

app = Flask(__name__)

@app.route('/yield')
def index():
    def inner():
        proc = subprocess.Popen(
            ['dmesg'],  # call something with a lot of output so we can see it
            shell=True,
            stdout=subprocess.PIPE
        )

        for line in iter(proc.stdout.readline,''):
            time.sleep(1)  # Don't need this just shows the text streaming
            yield line.rstrip() + '<br/>\n'

    return Response(inner(), mimetype='text/html')  # text/html is required for most browsers to show this

Дело в том, что я давно пользуюсь Flask-Restful. Поэтому я хочу сделать потоковую передачу с его помощью. Я попробовал это, и это не работает.

import subprocess
import time
from flask import Response
from flask_restful import Resource

class CatalogStrings(Resource):

    def get(self):
        return Response(inner(), mimetype='text/html')

def inner():
    proc = subprocess.Popen(
        ['dmesg'],  # call something with a lot of output so we can see it
        shell=True,
        stdout=subprocess.PIPE
    )

    for line in iter(proc.stdout.readline, ''):
        time.sleep(1)  # Don't need this just shows the text streaming
        yield line.rstrip() + '<br/>\n'

Пожалуйста помоги


person Hussain    schedule 20.10.2016    source источник
comment
stackoverflow .com/questions/4831322/   -  person Craicerjack    schedule 20.10.2016
comment
Я не думаю, что flask-restful поддерживает это.   -  person Hussain    schedule 20.10.2016