【发布时间】:2019-12-13 08:31:12
【问题描述】:
由于 Apache 网关超时,并且希望向最终用户显示更多信息,我希望能够在 PCF 上托管的 python CGI 脚本上刷新 STDOUT,本质上是提供脚本状态的更新。
我尝试在 python 中启用 -u 标签(#!/usr/python -u 在我的脚本开头)、sys.stdout.flush() 命令,甚至使用 subprocess.call 来执行 perl 脚本设置为刷新到打印一些进度文本的 STDOUT ($| = 1; 在 perl 脚本的开头)。此外,我仔细检查了我没有使用任何需要缓冲的 Apache 模块(例如,没有 mod_deflate)。最后,我会提到执行标准 perl CGI 而不是 python CGI 允许 STDOUT 刷新,所以我认为它必须与我的 python/Apache/PCF 配置有关。
我对这里的想法很新鲜,想要一些建议。
使用上述任何一种方法,我都认为标准输出会刷新。但是,它们都没有奏效!
提前感谢您的帮助。
【问题讨论】:
-
你试过
print("foo", flush=True)吗? -
对不起,忘记在帖子中提到我使用的是python 2.7.x(我记得在标签中)
标签: python python-2.7 apache cgi cloud-foundry