У меня есть удаленный хост, на котором я запускаю турбостат через парамико (турбостат отображает температуру, мощность и загрузку ЦП за цикл).Stdout paramiko получает от удаленного хоста строку данных из турбостата в цикле.Я хочу отправить этот поток вывода на Flask, чтобы увидеть поток в Интернете, но теперь мой код получает в Интернете только одну строку
app = Flask(__name__)
apply_config(app, config)
app.add_url_rule('/api/host/<comp>/turbostat', 'turbostat', turbostat)
return app
def turbostat(comp):
def inner():
ip_addr = get_eine_ip_addr(comp)
print(ip_addr)
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(hostname=ip_addr, username='root', password='1', port=22, timeout=20)
sin, sout, serr = ssh.exec_command(""" turbostat -S | awk '{print "%Busy:"$2, "Bzy_MHz:"$3, "CoreTmp:"$10, "PkgWatt:"$16}' """)
for line in line_buffered(sout):
print(line)
return line
return flask.Response(inner(), mimetype='text/html')
def line_buffered(f):
while not f.channel.exit_status_ready():
yield str(f.readline())```