2024-04-20 04:04:22 发布
网友
我应用了以下部分:
client->nginx->uwsgi(python)
有些python脚本可以运行很长时间(2-6分钟)。脚本执行后,我应该给客户端内容,但连接中断,错误为“网关超时504”。我可以用什么来避免这个错误?在
那么,您的目标是减少脚本的运行时间,还是不让它们超时?无论你尝试什么,浏览器都会放弃一个6分钟的请求。在
也许可以尝试在服务器上完成这项工作,然后轮询AJAX请求的进度?在
或者,如果可能,尝试优化脚本。例如,如果您有一些非常慢的SQL代码,请尝试清理它。在
否则,如果没有更多信息,就很难给出更具体的答案。在
这在很大程度上取决于您的服务器设置(即,将数据推送回客户机有多容易),但是在运行冗长的应用程序时,是否可以定期发送一些“空”内容(例如,假定输出是html的纯换行),以便浏览器认为这只是一个缓慢的连接,而不是暂停的连接?在
我曾经建立了一个系统,其中“主页”包含一个Iframe,它以text/plain的形式显示长时间运行程序的输出。我认为Iframe内容的处理程序是一个pythoncgi脚本,它在Apache服务器下逐行发出所有头和程序输出。在
我不知道这在你的配置下是否有效。在
那么,您的目标是减少脚本的运行时间,还是不让它们超时?无论你尝试什么,浏览器都会放弃一个6分钟的请求。在
也许可以尝试在服务器上完成这项工作,然后轮询AJAX请求的进度?在
或者,如果可能,尝试优化脚本。例如,如果您有一些非常慢的SQL代码,请尝试清理它。在
否则,如果没有更多信息,就很难给出更具体的答案。在
这在很大程度上取决于您的服务器设置(即,将数据推送回客户机有多容易),但是在运行冗长的应用程序时,是否可以定期发送一些“空”内容(例如,假定输出是html的纯换行),以便浏览器认为这只是一个缓慢的连接,而不是暂停的连接?在
我曾经建立了一个系统,其中“主页”包含一个Iframe,它以text/plain的形式显示长时间运行程序的输出。我认为Iframe内容的处理程序是一个pythoncgi脚本,它在Apache服务器下逐行发出所有头和程序输出。在
我不知道这在你的配置下是否有效。在
相关问题 更多 >
编程相关推荐