栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

在更新日志文件时显示其内容

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

在更新日志文件时显示其内容

使用Flask视图可以永久不断地从文件中读取数据并流式传输响应。使用Javascript从流中读取并更新页面。本示例发送了整个文件,您可能希望在某个时候截断该文件以节省带宽和内存。此示例在两次读取之间睡眠,以减少来自无限循环的cpu负载,并允许其他线程有更多活动时间。

from time import sleepfrom flask import Flask, render_templateapp = Flask(__name__)@app.route('/')def index():    return render_template('index.html')@app.route('/stream')def stream():    def generate():        with open('job.log') as f: while True:     yield f.read()     sleep(1)    return app.response_class(generate(), mimetype='text/plain')

app.run()

<pre id="output"></pre><script>    var output = document.getElementById('output');    var xhr = new XMLHttpRequest();    xhr.open('GET', '{{ url_for('stream') }}');    xhr.send();    setInterval(function() {        output.textContent = xhr.responseText;    }, 1000);</script>

这几乎与该答案相同,后者描述了如何流式传输和解析消息,尽管永远从外部文件中读取数据已经足够新颖,可以说是它自己的答案。这里的代码更简单,因为我们不在乎解析消息或结束流,而只是永久拖尾文件。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/398651.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号