gpt4 book ai didi

javascript - 从 Pyramid View 的 subprocess.Popen 动态输出 stdout 到网页

转载 作者:行者123 更新时间:2023-11-28 17:34:44 26 4
gpt4 key购买 nike

我正在使用 Pyramid 网络框架来提供性能模型并允许许多用户远程使用它。

简而言之,将用户提供的参数输入到XML文件中,然后使用C++编写并使用XML的模型在单独的 View 中通过subprocess.Popen执行。

该模型可能需要一些时间,其日志记录信息对用户很有值(value)。我希望我可以将标准输出中的每一行写入一个 HTML 文件,然后以该文件作为源生成一个 iFrame。

一旦子流程开始,就会生成一个 iFrame,并将更新的 HTML 文件作为源

<iframe id="logSimInlineFrame" src="${request.static_url('fcmod_web:temp/logfile.html')}" Content-Type="text/plain" charset="utf-8"></iframe>

我意识到这不是静态的,我遇到了以下错误

ValueError: No static URL definition matching fcmod_web:temp/logfile.html

所以我的问题是,我使用内容由 Python 生成的 iFrame 是否走在正确的轨道上?如果是这样,我应该如何提供这些数据以便动态更新?

或者,我认为是这种情况,是否有更有效的方法将数据从 stdout PIPE 流式传输到网页上的框架?

最佳答案

IFrame 流是最好的。可用于与浏览器进行实时通信的技术

AJAX 和 HTTP 长轮询等技术并非为流式通信而设计。所有现代浏览器都原生支持 WebSockets——最后一个不支持它们的浏览器是 Android 2.2。

对于流式传输,您的普通网络服务器可能不会削减它,因此您需要探索,例如uWSGI and Server-Sent event 支持。请注意,与 HTTP 的 WSGI 不同,Python 没有实时通信标准,因此任何解决方案都将特定于您的 Web 服务器软件。

关于javascript - 从 Pyramid View 的 subprocess.Popen 动态输出 stdout 到网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31688367/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com