python - 显示 PYTHON CGI 脚本的进度

标签 python cgi show progress

我有一个 PYTHON CGI 脚本(Content-type:text/plain),执行大约需要 10 分钟。 我想在我的浏览器上查看我的脚本的执行状态。

如下所示:

Part 1 of script executed...

Part 2 of script executed..

Part 3 of script executed..

Execution Complete

我正在使用 print 语句,但它只是在脚本执行完成后才将所有 print 语句一起输出,而不是一个一个地输出。

请帮忙..

最佳答案

我怀疑真正的阻塞点是网关(网络服务器),而不是您的 CGI 应用程序。网关在技术上必须验证响应并确保它符合网关与客户端一起使用的 HTTP 版本。

我不确定在处理所有请求之前是否允许网关转发 header 。如果你看一下 CGI specification在第 3.1 节“服务器职责”下,您可以阅读以下内容:

The server MUST perform translations and protocol conversions on the client request data required by this specification. Furthermore, the server retains its responsibility to the client to conform to the relevant network protocol even if the CGI script fails to conform to this specification.

如果脚本需要很长时间才能运行并且您希望定期更新,那么您最好重新考虑您的架构。查看此方法的更多经典策略,主要是让脚本在写入数据库的后台进程中运行,并编写一些 AJAX 代码以从服务器拉取通知。根据您用作服务器堆栈的内容,您还可以编写应用程序以通过 web socket 进行通信。这将允许您保持连续连接并随时发送更新。

关于python - 显示 PYTHON CGI 脚本的进度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8606798/

相关文章:

c++ - 在 Qt 中如何将模态对话框窗口转换为非模态对话框窗口?

python - 如何修复此Python继承AttributeError : X instance has no attribute 'con' ?

python - 如何使用 python http.server 运行 CGI "hello world"

使用 nginx 和 FastCGI 的 Perl Web 服务 - 无法读取参数

android - 如何在不使用 Intent 和选择器的情况下显示电子邮件共享选项列表?

python - 如何使用python获取具有默认命名空间的xml文件中所有元素的xpath?

Python。更改列表

python - 生成具有对角边缘的数组的 Pythonic 方法是什么?

jquery - 在 HTML 表格中隐藏/显示列