python 子进程输出怎么用模板显示出来?

2015-11-03 14:35:10 +08:00
 xuyl

关于 flask 的模板渲染问题: render_template()

我的程序是这样写的

@app.route('/haha')
def run_haha():
p = subprocess.Popen('python /home/test.py',shell=True,stdout=subprocess.PIPE)
c = p.stdout.readline()
while p.poll() == None:
return render_template('haha.html',cout = p.stdout.readline())

我希望把调用子进程的输出作为参数,用模板渲染出来。结果发现,由于子进程(test.py)输出数据量过大,导致程序卡死。 各位大神,你们有什么好的办法处理这种需求?

1992 次点击
所在节点    Python
3 条回复
yangtukun1412
2015-11-03 15:32:07 +08:00
如果输出的数据量真那么大,你渲染成 html 也一样打不开...
wayslog
2015-11-03 18:19:48 +08:00
我觉得你还是把 test.py 里面的数据输出到文件里然后提供文件下载吧……
xuyl
2015-11-03 18:48:10 +08:00
@yangtukun1412 实时监控用的,我看到 celery 能异步处理长任务。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/233249

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX